Peta Situs dan Post Permalink
- Administrator
- , Sitemap, Sitemap xml, Slug permalik, Site url
- 1700 Kali Dilihat
- 0 Komentar
Peta Situs dan Post Permalink
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: https://namawebsite.com// atau www.namawebsite.com//
Yang seharusnya adalah: https://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: https://namawebsite.com//slug-permalink atau www.namawebsite.com//slug-permalink
Yang seharusnya adalah: https://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: https://namawebsite.comslug-permalink atau www.namawebsite.comslug-permalink
Yang seharusnya adalah https://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: https://namawebsite.com atau https://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 kode dibawah ini, dan pastikan pada baris 13, 41, dan 42 persis seperti berikut.
<?php
$site['structure'] = 'PopojiCMS';
$site['ver'] = '2.0';
$site['build'] = '1';
$site['release'] = '07 Agustus 2016';
define('CONF_STRUCTURE', $site['structure']);
define('CONF_VER', $site['ver']);
define('CONF_BUILD', $site['build']);
define('CONF_RELEASE', $site['release']);
$site['url'] = "https://nama-domain.com/";
$site['adm'] = "photo-images-background";
$site['con'] = "po-content";
$site['inc'] = "po-includes";
define('WEB_URL', $site['url']);
define('DIR_ADM', $site['adm']);
define('DIR_CON', $site['con']);
define('DIR_INC', $site['inc']);
$db['host'] = "localhost";
$db['driver'] = "mysql";
$db['sock'] = "";
$db['port'] = "";
$db['user'] = "database_user";
$db['passwd'] = "database_password";
$db['db'] = "web_database";
define('DATABASE_HOST', $db['host']);
define('DATABASE_DRIVER', $db['driver']);
define('DATABASE_SOCK', $db['sock']);
define('DATABASE_PORT', $db['port']);
define('DATABASE_USER', $db['user']);
define('DATABASE_PASS', $db['passwd']);
define('DATABASE_NAME', $db['db']);
$site['vqmod'] = FALSE;
$site['timezone'] = "Asia/Jakarta";
$site['permalink'] = "slug/post-title";
$site['slug_permalink'] = "detailpost";
define('VQMOD', $site['vqmod']);
define('TIMEZONE', $site['timezone']);
define('PERMALINK', $site['permalink']);
define('SLUG_PERMALINK', $site['slug_permalink']);
?>
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');
}
}