Loading…

記事内にプロモーションが含まれています。

WordPress カスタマイズ

WordPressプラグイン使わずxmlサイトマップ作成方法

プラグイン使わずxmlサイトマップ作成方法

所要時間目安: 2

This session is using  IPv4  is established in

この記事は2015年12月28日のものです。現在は状況が異なる可能性がありますのでご注意ください。

WordPress カスタマイズ

目次に行く・戻る

メルカリ招待コード:

これまでいくつかのブログにてブログを運営してきました。

  • FC2ブログ
  • 忍者ブログ
  • Blogger

など…。

今現在のメインはBloggerですが、
Bloggerには初めサイトマップ自体を作成する機能がなかったのでatomフィードと500記事ごと送信設定をする必要がありました。

現在はBloggerブログでも、


この記事を読む方へのオススメ


自動でxml形式のサイトマップが作成できるようになっています。

 

WordPressでもサイトマップを作成して、
旧ウェブマスターツール(現SearchConsole)に送信した方が、
SEO的には間違いなくいいです。

アドセンス336pxPC閲覧記事下表示1つ目コード


しかし、

私は、変に多くのプラグインなどは入れたくない派なので、
なんとかならないかと行脚していました。

そしたら、
やっぱりありました。

function.php内に記載するのですが、

以下コードを記載すれば自分のWordPressブログ・サイトのxml形式のサイトマップが作成されます。

 

//Google XML サイトマップ作成
add_action("publish_post", "eg_create_sitemap");
add_action( "save_post", "eg_create_sitemap" );
function eg_create_sitemap() {
$postsForSitemap = get_posts( array(
'numberposts' => -1,
'orderby' => 'modified',
'post_type' => array( 'post' ),
'order' => 'DESC'
) );
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>';
$sitemap .= "\n" . '<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
$sitemap .= "\t" . '<url>' . "\n" .
"\t\t" . '<loc>' . esc_url( home_url( '/' ) ) . '</loc>' .
"\n\t\t" . '<lastmod>' . date( "Y-m-d", current_time( 'timestamp', 0 ) ) . $tempo . '</lastmod>' .
"\n\t\t" . '<changefreq>daily</changefreq>' .
"\n\t" . '</url>' . "\n";
foreach( $postsForSitemap as $post ) {
setup_postdata( $post );
$postdate = explode( " ", $post->post_modified );
$sitemap .= "\t" . '<url>' . "\n" .
"\t\t" . '<loc>' . get_permalink( $post->ID ) . '</loc>' .
"\n\t\t" . '<lastmod>' . $postdate[0] . '</lastmod>' .
"\n\t\t" . '<changefreq>daily</changefreq>' .
"\n\t" . '</url>' . "\n";
}
$sitemap .= '</urlset>';
$fp = fopen( ABSPATH . "sitemap.xml", 'w' );
fwrite( $fp, $sitemap );
fclose( $fp );
}

//robots.txtにサイトマップ指定
add_filter("robots_txt", "add_robots_txt");
function add_robots_txt($output) {
$url = site_url();
$output .= "Sitemap: $url/sitemap.xml";
return $output;
}

 

これで、

プラグインは何も使わずにGoogleさんにサイトマップの送信ができるようになります。

アドレスは、
自分のサイトURLの後に/sitemap.xmlです。

一度、

SearchConsoleにてサイトマップの送信テストしてみるとわかると思います。

見事に成功と出るはずです。

そしたら、
そのまま追加してしまいましょう。

今回は、

サイトマップをプラグインを使わずに作成する方法でした。

 

WordPress, カスタマイズ」同じカテゴリーの記事一覧

あなたにおすすめ

RSSフィードにアイキャッチ画像と続きを読むを表示させる方法

STINGER PLUS+ Stinger6 Stinger7 WordPress カスタマイズ 伝えたいこと 備忘録

RSSフィードにアイキャッチ画像を表示させる方法Feedlyなど

WordPressでのブログ運営にして間もなく一年が経とうとしています。 はじめは試行錯誤でphpって何?functionって日本語だと機能って意味だけれど何?みたいな感じでした。まぁ、今でも超有名な…

もっと読む

インフィード広告アドセンス

コマンドrobocopyバックアップ

PC Windows10 カスタマイズ 備忘録

Windows10でWindows.old削除でなくバックアップ方法

多くの方々がWindows10にアップグレードした後に、 Cドライブ直下に「Windows.old」というフォルダがあり、 さらに結構な容量があります。 なので、 HDD容量が少なめの方やWindow…

もっと読む

インフィード広告アドセンス

紅葉

php WordPress テーマ

WordPressテーマカスタマイズしてみた。

WordPressのテーマをカスタマイズしてみました。 カスタマイズしてみた内容は、 ちょっと試行錯誤し過ぎて明確には覚えていないのですが…。バックグラウンドの色の変更。新しい記事の表示件数の変更。(…

もっと読む

インフィード広告アドセンス

ページ表示速度高速化

Stinger6 Stinger7 WordPress インターネット カスタマイズ テーマ 伝えたいこと 備忘録

ページ表示速度高速化レンダリングブロックを非同期にしてみる。

ここ最近…。本当にサイトの高速化、サイトのページ表示速度を速くしなければ!!なんて思い過ぎている私です。 ない知識をフルに活用してみてはいるものの、うまくいったりいかなったり、トライ・アンド・エラーそ…

もっと読む

インフィード広告アドセンス

WordPress 不具合 伝えたいこと

Important notice for administrators

先月にWordPressのプラグインで有名な人気記事などを表示することが簡単にできるWordPress Popular Postsにて、以下のようなエラーメッセージが表示されるようになりました。 エラ…

もっと読む

インフィード広告アドセンス

WordPressバックアップとドメイン移行複製方法

WordPress 伝えたいこと 備忘録

ドメイン移行(複製)方法、DupulicaterでスターサーバーwpblogフリーWPから

これまで無料でWordPressを使うことができたネットオウルのサービスであるフリーWPのwpblog.jpドメインのサービスが2022年3月31日で終了の案内がされました。他の無料サービスのフリーP…

もっと読む

おすすめの記事一部広告

お小遣い稼ぎにアンケート。

Multiplex 広告

おすすめ!!

世界中でNo.1のシャアを誇るAmazonでのお得なお買い物でお得をしよう!!ネット通販なので、もちろん24時間年中無休です。健康商品から食品、車カスタマイズ商品、大手家電メーカー商品やパソコンの自作サプライ商品、その他アマゾン・プライムでは映画やドラマなど多くの作品や番組を見ることができます。マスクなど衛生商品も今では必須アイテム。一番信用できて一番商品数の多いAmazonでの買い物が絶対にオススメ!!

おすすめ2

楽天による季節特集です。それぞれの季節ごとにお得なお買い物商品やお得な旅行商品、その他にもAmazon同様に国内最大の買い物ポータルサイトです。楽天をメインにお買い物されている方はポイントやSPUも貯まりさらにお得に!!楽天カードや宇佐美系列のガソリンスタンドでも楽天ポイントが今では貯まります。それらのポイントを貯めてお得にお買い物や旅行商品その他にもパソコンサプライや車カスタマイズ商品など楽天も充実しています。

Googleニュース

2024-04-28

~Weeklyメンテナンス~:211 Pt. 今回はちょっとハードルが高く思えるが、やってみれば意外と簡単な樹脂補修について紹介しよう。クルマの各部をDIY ...

2024-04-28

見える部分であれば、日頃から対処ができるが、見えない部分のメンテナンスは、かなり難しい。 ... □価格:軽自動車・リッターカー ... 自動車用語集 大林. 【 ...

2024-04-28

... メンテナンスサポートまで行う。 同社はトヨタ自動車の「ハイエース」をベースとしたキャンピングカー製造では国内シェアトップ。これまで培ってきた ...

2024-04-28

ACCEL AUTO GARAGE アクセルオートガレージ. 福岡周辺のカーエアコンガスクリーニングの事なら弊社にお任せ下さい!スナップオンのデュアルプロ ...

2024-04-27

... 見逃せない! ホイールのブレーキ ... 独立後はカーオーディオ、クルマ、腕時計、モノ系 ... カーメーカー「旧」関連プロジェクトの全貌 ...

Total282


アドセンス336pxPC閲覧記事下表示1つ目コード

目次に戻る

よろしかったらシェアよろしくお願いします。

-WordPress, カスタマイズ
-, , ,

目次に戻る

目次に戻る


コメントを閉じる
  1. raiki より:

    最近まで「All in One SEO Pack」を使っていたのですが、xmlサイトマップが「パースエラー」とか表示されて使い物にならなくなったので、ここに書かれた方法を試して
    http://自分のドメイン/sitemap.xml
    と直にURL入力しても
    「http://自分のドメイン/sitemap.xml/」と言うHTMLファイルに飛ばされて、xmlサイトマップとして機能しません。
    (ちなみに他のサイトマップ系プラグインを使っても同じような現象が起こって使い物になりません。)
    ちなみにテーマは「Simplicity2バージョン: 2.5.1」を使っています。
    他テーマに変える、プラグインの再インストール、怪しいプラグインの停止、どれも失敗しています。
    何か原因に心当たりはありませんでしょうか?

    • danna より:

      raiki様コメントありがとうございます。
      サイトマップをSearchConsoleで送信する際に入力するURLは自分のサイトのURLの後に「sitemap.xml」のみを入力して送信されていますでしょうか?

      一度、SearchConsoleでサイトマップのテスト送信をしてみてどうかの確認をされてみてはいかがでしょう?

      また、
      もしくはYoast SEOというプラグインでもxmlサイトマップは作成可能なので、上記でNGであればこちらにてもお試してみてどうかですが…。

      あとは、
      基本中のサイトマップ専用のプラグインで「Google XML Sitemaps」で、サイトマップを作成してもらいSearchConsoleにてテスト送信を実施後に送信してみてどうかですが…。

      まずは、順番にお試ししてみてくださいm(__)m。

      追伸)
      最後にこちらで紹介している子テーマのfunction.php内に記述するコードを、
      一応もう一度以下に記載しておきます。

      //Google XML サイトマップ作成
      add_action("publish_post", "eg_create_sitemap");
      add_action( "save_post", "eg_create_sitemap" );
      function eg_create_sitemap() {
      $postsForSitemap = get_posts( array(
      'numberposts' => -1,
      'orderby' => 'modified',
      'post_type' => array( 'post' ),
      'order' => 'DESC'
      ) );
      $sitemap = '';
      $sitemap .= "\n" . '' . "\n";
      $sitemap .= "\t" . '' . "\n" .
      "\t\t" . '' . esc_url( home_url( '/' ) ) . '' .
      "\n\t\t" . '' . date( "Y-m-d", current_time( 'timestamp', 0 ) ) . $tempo . '' .
      "\n\t\t" . 'daily' .
      "\n\t" . '
      ' . "\n";
      foreach( $postsForSitemap as $post ) {
      setup_postdata( $post );
      $postdate = explode( " ", $post->post_modified );
      $sitemap .= "\t" . '' . "\n" .
      "\t\t" . '' . get_permalink( $post->ID ) . '' .
      "\n\t\t" . '' . $postdate[0] . '' .
      "\n\t\t" . 'daily' .
      "\n\t" . '
      ' . "\n";
      }
      $sitemap .= '
      ';
      $fp = fopen( ABSPATH . "sitemap.xml", 'w' );
      fwrite( $fp, $sitemap );
      fclose( $fp );
      }

      //robots.txtにサイトマップ指定
      add_filter("robots_txt", "add_robots_txt");
      function add_robots_txt($output) {
      $url = site_url();
      $output .= "Sitemap: $url/sitemap.xml";
      return $output;
      }

      解決されれば良いのですが…。

  2. raiki より:

    念のために、上記のソースでも試しましたが、やはり「http://自分のドメイン/sitemap.xml/」と言うHTMLファイルに飛ばされて、xmlサイトマップとして機能しません。
    すでに「Yoast SEO」でも、バグで悪名高い「Google XML Sitemaps」でも生成を試みましたが、同じ現象が引き起こって全然解決しません。
    サーチコンソールでも

    型:
    エラー
    問題:
    サイトマップが HTML です
    説明:
    サイトマップが HTML ページです。サポートされている形式のサイトマップを使用してください。

    と言うエラー結果が弾き出されます。
    他に怪しい箇所などは見当たらないでしょうか?

    • danna より:

      raiki様。
      お力になれなくて申し訳ありません。

      raiki様のサイトURLがわかりませんので何とも言えませんが、
      W3 Total Cacheなどのキャッシュ系プラグインなどは使用されていませんか?

      キャッシュ系プラグインを使用されている場合において、
      時折「サイトマップがHTMLです」といったようなエラーがでるようです。

      パースエラー自体が構文エラーの意味ですので、
      エラー表記がどのようにされているのか詳細がわかりませんが、
      「"」や「;」が抜けていたりする場合などに通常は表示されるはずです。

      また、ブラウザでFirefoxを使用されている場合などにも表示されることがあるようです。
      (詳細はわかりませんがm(__)m)

      他にご提案策としましては、以下のサイトで確認してみるなどしても良いのかもしれません。

      http://validator.w3.org/
      http://validator.w3.org/feed/

      また、テーマにSimplicity2をご使用でありましたらサポートフォーラムがあると思います。

      もし、時間をおいても解決されないようでしたらSimplicity2のサポートフォーラムにご質問されてみても良いのではないでしょうか。

      Simplicity2作者のわいひら様が、かなり頻繁にサポートされていらっしゃるようです。

comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください