# Navigation

Cara Membuat Sitemap News Google Menggunakan PHP

Cara Membuat Sitemap News Google Menggunakan PHP

Perayap web biasanya menemukan halaman dari tautan di dalam situs dan dari situs lain. Sitemaps atau Peta Situs melengkapi data ini untuk memungkinkan perayap yang mendukung Sitemaps (Peta Situs) untuk mengambil semua URL yang ada di Sitemaps (Peta Situs) dan mempelajari tentang URL tersebut menggunakan metadata yang terkait. Menggunakan protokol atau aturan Sitemaps (Peta Situs) tidak menjamin bahwa halaman web akan disertakan atau diindeks kedalam mesin pencari, akan tetapi setidaknya memberikan petunjuk bagi perayap web sehingga mampu menelusuri sebuah situs dengan lebih baik.

Agar sebuah situs bisa muncul pada mesin pencari seperti Google maka sangat disarankan untuk menggunakan sitemaps. Di sini kita akan membahas cara membuat Sitemaps News Google menggunakan PHP. Sitemaps news Google sangat berguna untuk situs-situs berita yang selalu update setiap harinya. Kompas dan Detik yang merupakan salah satu situs berita online terbesar menggunakan sitemaps news google. Sebelum menggunakan sitemaps news ada beberapa syarat yang ditentukan oleh Google yaitu:

  • Peta Situs Berita Anda hanya dapat berisi URL untuk artikel yang dipublikasikan dalam dua hari terakhir. Anda dapat menghapus artikel yang berumur lebih dari dua hari dari peta situs Berita, namun artikel tersebut akan tetap ada di indeks Berita selama 30 hari.
  • Sebaiknya perbarui Peta Situs Berita secara terus-menerus dengan artikel-artikel baru setelah dipublikasikan. Google Berita merayapi Peta Situs Berita dalam frekuensi yang sama dengan perayapan seluruh situs Anda.
  • Peta Situs Berita tidak dapat berisi lebih dari 1.000 URL. Jika Anda ingin menyertakan lebih banyak URL, Anda dapat membagi URL tersebut ke beberapa Peta Situs dan menggunakan file indeks Peta Situs untuk mengelolanya. Gunakan format XML yang disediakan dalam protokol Peta Situs. File indeks Peta Situs Anda hanya dapat mencantumkan hingga 50.000 Peta Situs. Batasan ini membantu memastikan bahwa server web Anda tidak dibebankan berlebihan karena menyajikan banyak file ke Google Berita.
  • Saat memublikasikan artikel baru, jangan buat satu Peta Situs Berita baru setiap saat. Sebagai gantinya, perbarui peta situs Anda saat ini dengan URL artikel yang baru.
  • Generator Peta Situs Google tidak dapat digunakan untuk membuat Peta Situs Berita, karena generator tersebut akan menyertakan URL yang tidak berhubungan dengan artikel berita tertentu. Ada beberapa alat pihak ketiga yang dapat membantu Anda membuat Peta Situs Google Berita.

Berikut contoh tag Sitemaps (Peta Situs) News:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
  <url>
    <loc>http://www.example.org/business/article55.html</loc>
    <news:news>
      <news:publication>
        <news:name>The Example Times</news:name>
        <news:language>en</news:language>
      </news:publication>
      <news:genres>PressRelease, Blog</news:genres>
      <news:publication_date>2008-12-23</news:publication_date>
      <news:title>Companies A, B in Merger Talks</news:title>
      <news:keywords>business, merger, acquisition, A, B</news:keywords>
      <news:stock_tickers>NASDAQ:A, NASDAQ:B</news:stock_tickers>
    </news:news>
  </url>
</urlset>


Saya rasa penjelasan mengenai Sitemaps News sudah cukup, sekarang kita akan membahas cara membuat sitemaps news menggunakan PHP. Untuk membuat sitemaps news Google caranya hampir sama ketika kita membuat file XML menggunakan PHP seperti yang sudah kita bahas di artikel sebelumnya yaitu cara membuat file xml menggunakan PHP perbedaanya hanya terletak pada tag yang digunakan. Namun kali ini kita akan membahasnya jauh lebih lengkap dari yang sebelumnya.

Buat Database dan Tabel.

CREATE DATABASE berita;
--membuat database dengan nama berita
-- membuat tabel dengan nama artikel

CREATE TABLE `artikel` (
  `kode` int(5) NOT NULL,
  `judul` varchar(250) DEFAULT NULL,
  `tanggal` datetime DEFAULT NULL,
  `penulis` varchar(50) DEFAULT NULL,
  `isi` text,
  `tags` text,
  `url` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

ALTER TABLE `artikel`
  ADD PRIMARY KEY (`kode`);

ALTER TABLE `artikel`
  MODIFY `kode` int(5) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=17;

 

Membuat File Sitemap.xml

Setelah membuat database sekarang kita akan menggunakan data yang ada didalamnya untuk dijadikan sebuah sitemap news.

$sql = mysql_query("SELECT * FROM artikel Order By kode DESC LIMIT 30");

header("Content-Type: text/xml");
$xmlDoc = new DOMDocument('1.0','UTF-8');

$root = $xmlDoc->appendChild(
	$xmlDoc->createElement("urlset")
);

$root->appendChild(
	$xmlDoc->createAttribute("xmlns"))->appendChild(
		$xmlDoc->createTextNode('http://www.sitemaps.org/schemas/sitemap/0.9'));
		
$root->appendChild(
	$xmlDoc->createAttribute("xmlns:news"))->appendChild(
		$xmlDoc->createTextNode('http://www.google.com/schemas/sitemap-news/0.9'));

while(($cont =  mysql_fetch_assoc($sql))) {
	
	$tutTag = $root->appendChild($xmlDoc->createElement("url"));
	
	$url = $tutTag->appendChild($xmlDoc->createElement("loc"));
		$url->appendChild($xmlDoc->createCDataSection($cont['url']));
	
	$news = $tutTag->appendChild($xmlDoc->createElement("news:news"));
		$publication = $news->appendChild($xmlDoc->createElement("news:publication"));
			$name = $publication->appendChild($xmlDoc->createElement("news:name"));
				$name->appendChild($xmlDoc->createCDataSection('Ashharbustan.com')); 
			$lang = $publication->appendChild($xmlDoc->createElement("news:language"));
				$lang->appendChild($xmlDoc->createCDataSection('id'));
				
		$tgl = $news->appendChild($xmlDoc->createElement("news:publication_date"));
			$tgl->appendChild($xmlDoc->createCDataSection($cont['tanggal']));
			
		$judul = $news->appendChild($xmlDoc->createElement("news:title"));
			$judul->appendChild($xmlDoc->createCDataSection($cont['judul_content']));
			
		$tags = $news->appendChild($xmlDoc->createElement("news:keywords"));
			$tags->appendChild($xmlDoc->createCDataSection($cont['tags']));
}

$xmlDoc->formatOutput = true;
$xmlDoc->save("sitemap.xml");

YANG LAIN: