個別のページで <link rel=”canonical”> を使用したい

shinoda > 個別のページで <link rel=”canonical”> を使用したい @ 2016/4/17 10:49
検索エンジンで重複ページとして認識されないよう
個別のページのhead内で<link rel=”canonical”>を使いたいのですが
どのようにしたらよいでしょうか?

■ BaserCMSのバージョン:3.0.9
■ レンタルサーバー名:ロリポップ!ライト
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [MySQL]
■ PHPスキル:できない

hanhunhun > Re: 個別のページで <link rel=”canonical”> を使用したい @ 2016/4/18 12:05
shinodaさん

shinodaさんのCMSやPHP理解度が読み取れないので的確なアドバイスになるかわかりませんがbasercmsは初期設定ではテーマフォルダ内のLayoutsフォルダ内にあるdefault.phpをレイアウトテンプレートとして使用します。

ですのでそのファイルのhead内にタグを埋め込めばすべてのページに反映するかと思います。

■ BaserCMSのバージョン:3.0.9
■ レンタルサーバー名:ローカル
■ 設置フォルダ: C/MAMP/htdocs
■ 利用しているデータベース:MySQL
■ PHPスキル(自己評価):多分できない

shinoda > Re: 個別のページで <link rel=”canonical”> を使用したい @ 2016/4/19 14:51
早速のお返事ありがとうございます

説明の仕方に自信がないのですが
例えば以下の場合
http://www.●●●.jp/
http://www.●●●.jp/access
http://www.●●●.jp/about
それぞれ異なった<link rel=”canonical”>を入れたいのですがどのようにしたらよいのでしょうか

■ BaserCMSのバージョン:3.0.9
■ レンタルサーバー名:ロリポップ!ライト
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [MySQL]
■ PHPスキル:できない

Masamichi > Re: 個別のページで <link rel=”canonical”> を使用したい @ 2016/4/19 16:24
shinoda さん

>個別のページのhead内で<link rel=”canonical”>を使いたい
>それぞれ異なった<link rel=”canonical”>を入れたい

との事で、個別のページにそれぞれ任意のcanonicalページを指定したいという意味で合っていれば参考になるかと思います。

引用
<link rel=”canonical”>カノニカルタグとは
<link rel=”canonical”>タグはcanonicalページを指定する場合に使うタグです。

canonicalページとは、ほぼ同じ内容のコンテンツ(重複コンテンツ)が存在する場合、
優先的に検索結果に表示させたいページを指定する元となるページです。


他にも方法が有るかもしれませんが・・・
各ページ毎にそれぞれのレイアウトテンプレートを読ませてあげれば実現できるかと思います。

hanhunhun さんが仰るように
テーマフォルダ内のLayoutsフォルダ内にあるdefault.phpをレイアウトテンプレートとして使用しています。

どのテーマをお使いかは判りませんが、元々幾つか用意されています。

1.default.php
TOPページと固定ページのレイアウトを共有している物

2.blog.php
ブログページのみに適用される物

3.1column.php
任意のカラムに変更出来る物

など、インストールした状態ではこのままです。
(blog.php や 1column.php が無い場合もあり)


baserCMSは、個別ページ毎、コンタクトページ、また、
カテゴリー毎にもレイアウトを変更することが出来ます。
(別々のレイアウトを呼び出すことが出来ます)

ですので、default.php をコピーした物をそれぞれ作成します。

例)
default.php → コピーする → 名前を変更 → access.php
→ access.php のhead内にカノニカルタグを記述
→ Layoutsフォルダ内に保存

access.phpの中身
<head>
~~~~~~~~~~~~
<link rel=”canonical” href="指定したいカノニカルページのURL" />※1
~~~~~~~~~~~~
</head>


about.phpの中身
<head>
~~~~~~~~~~~~
<link rel=”canonical” href="指定したいカノニカルページのURL" />※2
~~~~~~~~~~~~
</head>

それらをページ毎に読ませてあげれば、配置はもちろん中身(head内)も変えられます。

例えば以下の場合
http://www.●●●.jp/     ← default.php のhead内に記述
http://www.●●●.jp/access   ← access.php のhead内に※1が反映される
http://www.●●●.jp/about    ← about.php のhead内に※2が反映される



それぞれ作成することが出来たら、
固定ページの一番下のオプション欄に下記のコードを記述して呼び出します。

acccess.php というレイアウトを呼び出す例
<?php $this->layout = 'access' ?>

これでページ毎に異なるテンプレートが適用できます。


また、カテゴリー毎にも変えられますので、
下記の様な場合は、一括で変更できます。

access というカテゴリー=ページを作成し小ページを作っている場合。

http://www.●●●.jp/access/  ← access.phpを適用
          /access/01 ← access.phpが適用される
          /access/02 ← access.phpが適用される


カテゴリー一覧ページ → 任意のカテゴリーを選択 → オプションをクリック



ここで、任意のレイアウトに変更できます。

これでご希望の仕様にできるかと思いますm(_ _)m

■ BaserCMS: 2.1.2〜4.0.8
■ サーバー名: mixhost・heteml・さくら・ロリポップ
■ スマートURLの利用: [共に]
■ 設置フォルダ: [共に]
■ データーベース MySQL5.6
■ PHPスキル[C]

hanhunhun > Re: 個別のページで <link rel=”canonical”> を使用したい @ 2016/4/19 19:01
shinodaさん

すみません!自分がよくタグの使い方を理解してませんでした!

それを踏まえて、、、、

PHPの関数で現在のURLを取得してと動的に各ページに反映すればOKなので以下のコードで大丈夫だと思います!


  <link rel=”canonical” href="<?php echo (empty($_SERVER["HTTPS"]) ? "http://" : "https://") . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; ?>">


これで行けると思います!

■ BaserCMSのバージョン:3.0.9
■ レンタルサーバー名:ローカル
■ 設置フォルダ: C/MAMP/htdocs
■ 利用しているデータベース:MySQL
■ PHPスキル(自己評価):多分できない

shinoda > Re: 個別のページで <link rel=”canonical”> を使用したい @ 2016/4/20 10:45
Masamichiさん、hanhunhunさん 有り難うございます

週末位にじっくりとやってみたいと思います。

■ BaserCMSのバージョン:3.0.9
■ レンタルサーバー名:ロリポップ!ライト
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [MySQL]
■ PHPスキル:できない

shinoda > Re: 個別のページで <link rel=”canonical”> を使用したい @ 2016/4/26 14:54
回答が遅れましたが、Masamichiさんの細かな解説のやり方で解決させてもらいました。
Search Consoleで重複コンテンツの改善を求められ悩んでおりました。

私の疑問に対してすぐにいろんな方が教えてくださり感謝いたします。
ありがとうございました!!

■ BaserCMSのバージョン:3.0.9
■ レンタルサーバー名:ロリポップ!ライト
■ 設置フォルダ: [ドキュメントルート]
■ 利用しているデータベース: [MySQL]
■ PHPスキル:できない

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
25 人のユーザが現在オンラインです。 (24 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 25