ブログ
 

WordPressの続きを読むリンクに付与される#moreを取り除く方法

       

WordPressでは記事の中に「続きを読む」タグを挿入することができます。
使用しているテーマにもよりますが、「続きを読む」を設定すると、記事一覧では続きを読むまでの本文が抜粋されて表示され、個別に記事のページにアクセスすると全文を読むことができます。

そんな便利な機能ではありますが、記事一覧にできる「続きを読む」リンクの中に「#more-000」というページ内リンクまでも生成してしまいます。
具体的には「archives/1350」というURLのページが有った場合、「続きを読む」で生成されるリンクは「archives/1350#more-1350」というリンクになります。
また、ページ内リンクですので「archives/1350#more-1350」をクリックして記事へ移動すると、続きを読むを指定した箇所まで自動的にスクロースされます。
便利といえば便利ですが、なれていないユーザーからすると少し戸惑うこともあります。

さらに一つの記事に対して2つのリンクができますのでSEOの観点からしてもあまり有利ではないと言えます。

従って、WordPressでサイトを構築する場合で「続きを読む」が有効なテーマを使用する場合は生成されるリンクを整形することが多いです。

整形の仕方は下記の通りで、これを各テーマフォルダ内にあるfunctions.phpに記述します。

/* moreリンクの整形 */
function remove_more_link($link) {
$offset = strpos($link, '#more-');
if ($offset) {
$end = strpos($link, '"', $offset);
}
if ($end) {
$link = substr_replace($link, '', $offset, $end-$offset);
}
return $link;
}
add_filter('the_content_more_link', 'remove_more_link');

上記のコードをfunctions.phpに追加すると「続きを読む」のリンクから「#more」を消すことができ、生成されるリンクを統一することができます。

以上、「続きを読む」リンクを整形するという細かい作業の説明でしたが、サイトを最適化するにはこのような細かい施策の積み重ねをすることが重要です。

 
  • このエントリーをはてなブックマークに追加