Карти сайту корисні пошуковим роботам, щоб краще знати структуру вашого сайту. Вони особливо корисні, якщо ваш сайт містить кілька сотень сторінок. Ви можете ввійти в Google Webmaster або Bing Master (або інші подібні інструменти для веб-сайтів), щоб надіслати карти сайту вручну. Якщо у вас багато карт сайту (або багато веб-сайтів), це буде головним болем. Як щодо автоматичного надсилання карт сайту (щоб пошукові системи знали, що у вас є оновлення)?
карта сайту
Спочатку визначте масив URL-адрес карт сайту за допомогою PHP :
$sitemaps = array(
"<a class="vglnk" target="_blank" href="https://helloacm.com/sitemap.xml" rel="nofollow"><span>https</span><span>://</span><span>helloacm</span><span>.</span><span>com</span><span>/</span><span>sitemap</span><span>.</span><span>xml</span></a>",
"<a class="vglnk" target="_blank" href="https://codingforspeed.com/sitemap.xml" rel="nofollow"><span>https</span><span>://</span><span>codingforspeed</span><span>.</span><span>com</span><span>/</span><span>sitemap</span><span>.</span><span>xml</span></a>",
"<a class="vglnk" target="_blank" href="https://codingforspeed.com/forum/sitemap.php" rel="nofollow"><span>https</span><span>://</span><span>codingforspeed</span><span>.</span><span>com</span><span>/</span><span>forum</span><span>/</span><span>sitemap</span><span>.</span><span>php</span></a>",
"<a class="vglnk" target="_blank" href="https://uploadbeta.com/sitemap.xml" rel="nofollow"><span>https</span><span>://</span><span>uploadbeta</span><span>.</span><span>com</span><span>/</span><span>sitemap</span><span>.</span><span>xml</span></a>",
"<a class="vglnk" target="_blank" href="https://rot47.net/sitemap.xml" rel="nofollow"><span>https</span><span>://</span><span>rot47</span><span>.</span><span>net</span><span>/</span><span>sitemap</span><span>.</span><span>xml</span></a>",
"<a class="vglnk" target="_blank" href="https://justyy.com/sitemap.xml" rel="nofollow"><span>https</span><span>://</span><span>justyy</span><span>.</span><span>com</span><span>/</span><span>sitemap</span><span>.</span><span>xml</span></a>",
"<a class="vglnk" target="_blank" href="https://steakovercooked.com/sitemap.xml" rel="nofollow"><span>https</span><span>://</span><span>steakovercooked</span><span>.</span><span>com</span><span>/</span><span>sitemap</span><span>.</span><span>xml</span></a>",
"<a class="vglnk" target="_blank" href="https://steakovercooked.com/wedding/sitemap.xml" rel="nofollow"><span>https</span><span>://</span><span>steakovercooked</span><span>.</span><span>com</span><span>/</span><span>wedding</span><span>/</span><span>sitemap</span><span>.</span><span>xml</span></a>"
);
Потім визначте дві функції:
// cUrl handler to ping the Sitemap submission URLs for Search Engines…
function Submit($url){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
return $httpCode;
}
function SubmitSiteMap($url) {
$returnCode = Submit($url);
if ($returnCode != 200) {
echo "Error $returnCode: $url <BR/>";
} else {
echo "Submitted $returnCode: $url <BR/>";
}
}
Тоді все, що вам потрібно зробити, це повторити всі карти сайту та надіслати їх до різних пошукових систем:
foreach ($sitemaps as $sitemapUrl) {
$sitemapUrl = htmlentities($sitemapUrl);
//Google
$url = "<a class="vglnk" target="_blank" href="http://www.google.com/webmasters/sitemaps/ping?sitemap=".$sitemapUrl" rel="nofollow"><span>http</span><span>://</span><span>www</span><span>.</span><span>google</span><span>.</span><span>com</span><span>/</span><span>webmasters</span><span>/</span><span>sitemaps</span><span>/</span><span>ping</span><span>?</span><span>sitemap</span><span>=".$</span><span>sitemapUrl</span></a>;
SubmitSiteMap($url);
//Bing / MSN
$url = "<a class="vglnk" target="_blank" href="http://www.bing.com/webmaster/ping.aspx?siteMap=".$sitemapUrl" rel="nofollow"><span>http</span><span>://</span><span>www</span><span>.</span><span>bing</span><span>.</span><span>com</span><span>/</span><span>webmaster</span><span>/</span><span>ping</span><span>.</span><span>aspx</span><span>?</span><span>siteMap</span><span>=".$</span><span>sitemapUrl</span></a>;
SubmitSiteMap($url);
// Live
$url = "<a class="vglnk" target="_blank" href="http://webmaster.live.com/ping.aspx?siteMap=".$sitemapUrl" rel="nofollow"><span>http</span><span>://</span><span>webmaster</span><span>.</span><span>live</span><span>.</span><span>com</span><span>/</span><span>ping</span><span>.</span><span>aspx</span><span>?</span><span>siteMap</span><span>=".$</span><span>sitemapUrl</span></a>;
SubmitSiteMap($url);
// moreover
$url = "<a class="vglnk" target="_blank" href="http://api.moreover.com/ping?sitemap=".$sitemapUrl" rel="nofollow"><span>http</span><span>://</span><span>api</span><span>.</span><span>moreover</span><span>.</span><span>com</span><span>/</span><span>ping</span><span>?</span><span>sitemap</span><span>=".$</span><span>sitemapUrl</span></a>;
SubmitSiteMap($url);
}
Додайте наступне на початок, яке не встановлює обмеження за часом, якщо ви хочете додати цю роботу в crontab.
Нарешті, ви можете додати це до crontab -e
@daily php submit_sitemap.php
Крім того, функцію Submit можна спростити за допомогою file_get_contents, якщо ви не хочете знати, чи надсилання було успішним (без коду повернення).
function Submit($url) {
file_get_contents($url);
}
Повний вихідний код доступний на github: submit_sitemaps.php