17%の人がハマるコーヒーを飲んでハマらなかったYu-ichiです
サイトのURLが検索結果などで表示されたときに
- 「https://www.netimpact.co.jp/」
- 「http://netimpact.co.jp/」
- 「https://www.netimpact.co.jp/index.html」
というように統一されていない状態になっていると、SEO的によろしくありません。
それを統一することを「正規化」と言います。
過去にも紹介していましたね~。
簡単にできるURLの正規化方法
この過去に紹介した正規化の方法は
静的なHTMLサイトでは問題なくトップページに使うことができます。
ですが、zencartでこれをそのまま書いてしまうと大変な事になってしまいます。
記述するファイルは
【/includes/templates/テンプレート/common/html_header.php】
なのですが、そのまま
</p> <p><link rel="canonical" href="http://www.●URL●/" /></p> <p>
と書いてしまうと、全ページ同一URLに正規化されてしまいます。
これは大問題です。
そこで、TOPページのみこの記述を表示する方法をご紹介したいと思います。
zencartではphpでif文が記述出来る為、
これを利用してTOPページだけに表示する文法を作ります。
</p> <p>< ?php<br /> $path = $_GET['main_page'];<br /> if( $path == "index" ){<br /> $path = $_GET['cPath'];<br /> if( $path == "" ){<br /> echo '<link rel="canonical" href="http://www.●URL●/" />'. "\n";<br /> }<br /> else{<br /> }<br /> }<br /> else{<br /> }<br /> ?></p> <p>
これを先程の「html_header.php」の適切な場所に書いてあげるだけです。
これでzencartでもTOPページのURLを正規化することができます。
一度お試しください。
コメントでご指摘いただき、一部修正しました。
</p> <p>< ?php<br /> $path = $_GET['main_page'];<br /> if( $path == "index" ){<br /> $path = $_GET['cPath'];<br /> if( $path == "" ){<br /> echo '<link rel="canonical" href="http://www.●URL●/" />'. "\n";<br /> }<br /> }<br /> ?></p> <p>
ありがとうございます
おじゃましますm(_ _)m
んー、どうでもいいことですけど
else、必要ですか?(^-^;)
<?php
$path = $_GET['main_page'];
if ( $path == "index" ){
$path = $_GET['cPath'];
if ( $path == "" ){
echo '’ . “n”;
}
}
?>
とかじゃダメですかね?(^-^;)
ありゃ。echo文がヘンなことになったぞ。
makocho様
ご指摘コメントありがとうございます。
確かにこの場合elseは不要ですね
修正版をアップしておきます。
コメント欄ではHTMLタグ使用を一部許可しておりますので、
そのままHTMlタグを書くとタグとして認識されてしまいます。
なので、コードを書く際には < と書くと < と表示されます。