Beberapa masalah yang kerap kali ditemukan saat membangun sebuah website atau situs adalah ditemukan URL dan atau permalink pada peta situs yang tidak seharusnya.
Sebagai contoh:
1. misalnya saat anda mengakses sebuah website atau situs, terdapat double slash(//) pada akhir url website tersebut.
Contoh: http://namawebsite.com// atau www.namawebsite.com//
Yang seharusnya adalah: http://namawebsite.com atau www.namawebsite.com
2. Atau saat anda mengakses salah satu post dalam website tersebut terdapat double slash(//) yang menghubungkan site url dengan slug permaling.
Contoh: http://namawebsite.com//slug-permalink atau www.namawebsite.com//slug-permalink
Yang seharusnya adalah: http://namawebsite.com/slug-permalink atau www.namawebsite.com/slug-permalink
3. Masalah lain yang biasanya ditemui adalah tidak ada slash pada site url yang menghubungkan site url dengan slug permalink.
Contoh: http://namawebsite.comslug-permalink atau www.namawebsite.comslug-permalink
Yang seharusnya adalah http://namawebsite.com/slug-permalink atau www.namawebsite.com/slug-permalink
Masalah tersebut diatas juga dapat ditemui pada saat anda mengupload sitemap.xml pada webmaster tool. Atau silahkan cek pada file sitemap.xml anda, pada root_directory website anda. Karena jika anda ingin melihat hasil pada webmaster tool, peringatan atau hasil akan terlihat setelah beberapa hari.
Untuk mengatasi masalah - masalah diatas lakukan hal - hal sebagai berikut:
1. Pada dashboard admin/pengaturan/umum
Pastikan site url yang anda input tanpa diakhiri slash "/", contoh yang benar: http://namawebsite.com atau http://www.namawebsite.com
2. Masih pada dashboard admin/pengaturan/config
Pastikan slug-permalink seperti berikut:
Post Permalink: slug/post-title
Default Slug Permalink: detailpost
3. Silahkan login directory_website (cpanel) /po-includes/core/config.php
Pastikan seperti contoh dibawah ini:
Perhatikan benar-benar gambar 1 dibawah ini, dan pastikan pada baris 13, 41, dan 42 persis seperti berikut.
4. Silahkan buka po-content/component/setting/admin_setting.php, pada pengaturan sitemap. Lihat Source Kode 2 dan rubahlah menjadi seperti Source Kode 3.
Source Kode 2
/**
* Fungsi ini digunakan untuk menampilkan dan memproses peta situs.
*
* This function is used to display and process sitemap.
*
* SOURCE KODE INI MENGHASILKAN SITEMAP YANG KURANG TEPAT DAN TIDAK DAPAT DITERIMA GOOGLE WEB-MASTER
*
*/
public function sitemap()
{
if (!$this->auth($_SESSION['leveluser'], 'setting', 'create')) {
echo $this->pohtml->error();
exit;
}
if (!empty($_POST)) {
$changefreq = $this->postring->valid($_POST['changefreq'],'xss');
$priority = $this->postring->valid($_POST['priority'],'xss');
$sitemap = new Sitemap($this->posetting[1]['value']);
$sitemap->setPath('../');
$sitemap->addItem('/', $priority, $changefreq, $this->podatetime->date_now);
$datapagess = $this->podb->from('pages')->where('active', 'Y')->fetchAll();
foreach($datapagess as $datapages){
$sitemap->addItem('/pages/'.$datapages['seotitle'], $priority, $changefreq, $this->podatetime->date_now);
}
$datacats = $this->podb->from('category')->where('active', 'Y')->fetchAll();
foreach($datacats as $datacat){
$sitemap->addItem('/category/'.$datacat['seotitle'], $priority, $changefreq, $this->podatetime->date_now);
}
$dataposts = $this->podb->from('post')->where('active', 'Y')->fetchAll();
foreach($dataposts as $dataposts){
$permalink = $this->postring->permalink(rtrim(WEB_URL, '/'), $dataposts);
$permalink = str_replace(WEB_URL, '' ,$permalink);
$sitemap->addItem($permalink, $priority, $changefreq, $dataposts['date']);
}
$sitemap->createSitemapIndex($this->posetting[1]['value'], 'Today');
$this->poflash->success($GLOBALS['_']['setting_sitemap_message'], 'admin.php?mod=setting#config');
}
}
Akan tetapi ada baiknya sebelum anda merubah source kode tersebut terlebih dahulu anda generate sitemap melalui pengaturan dashboard admin. Lalu lihat hasilnya pada root_directory/sitemap.xml
Perhatikan pada baris sitemap detailpost, anda akan lihat tidak ada slash("/") yang memisahkan antara domain dan slug permalink.
Untuk memperbaiki masalah tersebut silahkan rubah pengaturan sitemap pada po-content/component/setting/admin_setting.php dengan Source Kode 3 berikut:
Source Kode 3
/**
* Fungsi ini digunakan untuk menampilkan dan memproses peta situs.
*
* This function is used to display and process sitemap.
*
* SOURCE KODE BERIKUT AKAN MEMPERBAIKI KESALAHAN PADA SITEMAP
*
*/
public function sitemap()
{
if (!$this->auth($_SESSION['leveluser'], 'setting', 'create')) {
echo $this->pohtml->error();
exit;
}
if (!empty($_POST)) {
$changefreq = $this->postring->valid($_POST['changefreq'],'xss');
$priority = $this->postring->valid($_POST['priority'],'xss');
$sitemap = new Sitemap($this->posetting[1]['value']);
$sitemap->setPath('../');
$sitemap->addItem('/', $priority, $changefreq, $this->podatetime->date_now);
$datapagess = $this->podb->from('pages')->where('active', 'Y')->fetchAll();
foreach($datapagess as $datapages){
$sitemap->addItem('/pages/'.$datapages['seotitle'], $priority, $changefreq, $this->podatetime->date_now);
}
$datacats = $this->podb->from('category')->where('active', 'Y')->fetchAll();
foreach($datacats as $datacat){
$sitemap->addItem('/category/'.$datacat['seotitle'], $priority, $changefreq, $this->podatetime->date_now);
}
$dataposts = $this->podb->from('post')->where('active', 'Y')->fetchAll();
foreach($dataposts as $dataposts){
$permalink = $this->postring->permalink((WEB_URL), $dataposts);
$permalink = str_replace(WEB_URL, '' ,$permalink);
$sitemap->addItem($permalink, $priority, $changefreq, $dataposts['date']);
}
$sitemap->createSitemapIndex($this->posetting[1]['value'], 'Today');
$this->poflash->success($GLOBALS['_']['setting_sitemap_message'], 'admin.php?mod=setting#config');
}
}