前回(今朝)「Google AdSenseから警告」を頂きまして、合間に色々考えた結果(停止が復活するかは謎ですが)ちょっと厳しい目線でサイトを修正してみる事にしました。一応考え方として、
- 登録サイトが無いページではGoogle AdSenseを表示しない
- カテゴリを細分化し過ぎている為、重複<title>が存在するのを改善する
主に上記2点です。登録サイトが無い(ログを表示しない)ページを「コンテンツが乏しいページ」と判断し、該当するページはGoogle AdSenseを表示しないようにしました(停止してますが)。出力ログの有無の判定をどこでやってるのか分からなかったので勝手に「kt.html」で、
- <!--HTML-->
- local($log_check);
- $log_check = pop(@log_lines);
- if($log_check eq "") {
- print<<"<!--HTML-->";
- ログが無い場合の表示
- <!--HTML-->
- } else {
- print<<"<!--HTML-->";
- ログがある場合の表示
- <!--HTML-->
- }
- print<<"<!--HTML-->";
配列「@log_lines」の最後を切り出してが空だったらログが表示されないという事にしてみました。間違ってたらすんません。使い方によっては「登録サイトはありません」とかメッセージを表示させたりも出来ますね。次に改造したのは<title>です。
こいつは本当に苦労しまくりました・・・。
このブログを見てくれてる方がどの程度いらっしゃるか不明ですが、素で私はPerlとかPHPとか不得意なんです。っと言うか改造したい時はいちいち関数のリファレンスとか見ながらやってます。「if文」とかなら「パッパ」と出来ますがそれ以外は別問題です。ちなみに行った改造は、
- どのカテゴリページでも常にトップカテゴリを表示させておく
- <title>に表示させるカテゴリ名は最大3つまで(長すぎると邪魔かと)
- 3階層より深いカテゴリの場合は「トップ > 表示ページの1個前 > 表示ページ」に設定
末尾が「教育」となってるカテゴリは全て「<title>教育</title>」と言う状態になっていました。これだと「類似ページ」と判断されても仕方がない気がします。かと言って「ぱんくず」を表示させると、場合によって物凄く長ったらしくなります。と言う事から「トップカテゴリ名」と「表示ページの1階層前のカテゴリ名」を抽出する事にしました。
「ぱんくず」の作り方を見ていると「$LC_kt」と言うカテゴリ番号を「_」毎に分解し「@kt」と言う配列にするのですが、この時点で配列の最後が「$Stitle」と同じなのです。だから元々配列「@kt」の最後を削除する事で「ぱんくず」が生成されているのです。
と言う事は私が行いたい「表示ページの1階層前のカテゴリ名を抽出」をするには厳密には「最後から2番目を抽出」しなくてはならなくなります。そんな便利な関数はありません。しかもカテゴリの階層はその都度変化してしまうので頭からとかも無理でし、ま~苦労しました。
本来は「カテゴリの説明文」とかを使えば簡単に出来そうですが、無駄にログが増えますし何より1万以上のカテゴリ分作るのが大変過ぎます。「カテゴリの読み」は参照で使ってるんで配列やら判定やら試行錯誤して完成させました。結構見やすくなったかと勝手に喜んでます。改造内容は恥ずかしいのと責任持てそうにないので伏せときますね(笑)
と言うかYomi-Searchやってる方でそんなカテゴリ深い人あまり居ないですしね。人によってはそんなカテゴリ構成は設計からミスだと思う人も居るでしょうし、SEO的にトップページから3クリック以内だとかあれこれ居らっしゃるでしょう。
さて、これで「Google AdSense」さんは「停止」を「開始」に変更してもらえるのでしょうか?それとも私の着眼点は大外れでしょうか?自分の価値観って他人からすれば「論外」だったりする事があるものです。自分が必要(あると良いな)と思うものは組み込んだり、じゃない場合は無かったりと。
ま、お暇ならカテゴリを覗いてみてやってください♪