[WordPress]リンク後、自動的に記事の場所に飛ぶ方法

English

初めに

WordPressで、リンク後にページのトップに飛ぶのではなく、記事のある場所に直接飛びたいときがあります。例えば、すぐに記事を見て欲しいのに、ページ上部のタイトル画像や広告が分厚いため、リンク直後の画面には記事が表示されないときなどです。記事は有意義なのに、最初にタイトル画像や広告だけを見せられたユーザーはそのままブラウザを閉じてしまうかもしれません。ユーザーフレンドリーな対応として、リンク後に記事のある場所まで画面を自動的にスクロールさせれば、そのようなユーザーの離脱を防げるかもしれません。

方法

やり方は簡単です。以下のように、投稿ページや固定ページを示すURLの末尾に「#content」を追記するだけです。

<a href="https://example.com/archives/1234#content">リンクテキスト</a>

WordPress のエディタ機能でリンクを挿入する場合には、以下のように、リンク先URLの末尾に「#content」を追記してください。

Link setting by editor

メニュー中のリンクに設定する場合は、投稿ページや固定ページを選択して設定するのではなく、以下のようにカスタムリンクを使用して、URLを指定してください。

Link setting in menu

原理

なぜこのようにリンクを設定すると、記事に直接飛んでくれるのでしょうか?

HTMLでリンク先のURLの末尾に「#xxx」を付けると、「xxx」のidを持つブロックに飛ぶことをブラウザに指示することができます。ここで、WordPressの一般的なページでは、コンテンツのブロックには「content」というidが指定されています。投稿ページや固定ページのコンテンツとはすなわち記事です。よって、リンク先に「#content」を付けると、記事に直接飛ぶようにブラウザに指示することになるのです。

補足

WordPressのテーマによっては、記事のブロックのidが「content」ではないことがあるかもしれません。そのときは、ページのコードを読んで適切なidを探し、そのidを指定することで対応することが可能です。

Chromeでページのコードを表示する方法は、ページの右クリックメニューから「ページのソースを表示」を選択するだけです。

Menu in Chrome