サイトマップ作成のphpコード
-
phpの知識があまりありませんので、ネットの情報をもとに加えたfanction下記の.phpのコードに問題がないか教えていただけませんでしょうか?
fanction.phpにコードを加えてxmlサイトマップを作り、サーチコンソールに送信しました。
送信(青いグラフ)を経て、登録済(赤いグラフ)になるのですが、その後、半日位後に登録済が消え、翌日にまた登録済になるという現象を繰り返しています。
送信の数は変わりはありません。登録済が消えた際に処理日が更新されます。▼以下 コードです。
実際には、下記の’post_type’ => array(‘post’,’page’), // Add custom post types hereにカスタム投稿タイプ名を加えています。add_action(‘publish_post’, ‘create_sitemap’);
add_action(‘publish_page’, ‘create_sitemap’);
function create_sitemap() {
$sitemap_posts = get_posts(array(
‘numberposts’ => -1,
‘orderby’ => ‘modified’,
‘post_type’ => array(‘post’,’page’), // Add custom post types here
‘order’ => ‘DESC’
));
$sitemap = ‘<?xml version=”1.0″ encoding=”UTF-8″?>’;
$sitemap .= ‘<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>’;
foreach($sitemap_posts as $post) {
setup_postdata($post);
$postdate = explode(” “, $post->post_modified);
$sitemap .= ‘<url>’.
‘<loc>’. get_permalink($post->ID) .'</loc>’.
‘<lastmod>’. $postdate[0] .'</lastmod>’.
‘<changefreq>monthly</changefreq>’.
‘</url>’;
}
$sitemap .= ‘</urlset>’;
$fp = fopen(ABSPATH . “sitemap.xml”, ‘w’);
fwrite($fp, $sitemap);
fclose($fp);
}
▲以上です。これまでGoogle XML Sitemapsというプラグインを古いバージョン(最新は不具合が起きるため)で使っていましたが、この現象が起きるのでプラグインが関係しているのかと思い、fanction.phpにコードを加えてxmlサイトマップを作ったのですが、同じ現象が起きてしまいました。
サイトマップは更新のたびに上書きされるようになっていると思います。サイトマップにアクセスすると一覧がきちんと表示されていました。
クロールエラーなどサーチコンソールの問題がないか、ウェブマスター ヘルプ フォーラムで質問しましたが、特に問題はなさそうでした。また、同じコードでサイトマップを作成している別のサイトでは同様の現象は起きていません。
- トピック「サイトマップ作成のphpコード」には新たに返信することはできません。