>>>59件の記事があります。

googleの検索エンジンで書き換えられたtitleタグ

6月7日に書いた記事の結果報告になります。
結論から言うと一度書き換えられたタイトルは、こちらで修正してもその通りには直してくれません。
修正してからもう2カ月以上が経っています。
教訓としては、titleタグ部分は慎重に取り扱わなければならないということです。
titleタグに書かれているものとページの内容との整合性が取れていないと書き換えられるらしいのですが、もう少し研究してみる余地があるようです。
あと、一つ気付いたのはWordPressで使われているセパレーター”|”は置き換えられる可能性があるということです。
セパレーター以後を無視された例もあります。
誰かがブログに書いていましたが、著作権のことを考えると
他人のものを勝手に変えるのはどうかと思いますね。

googleにtitleタグを書き換えられる

原因は分かっています。
タグ内に語句が重複していたからです。
これはtitleタグにサイト名が自動で挿入されるWPの仕様にも問題があると思います。
ならばと、バージョンの4.4からサポートされたというtitleタグを
フックによって編集できるという機能を使って書き換えてみました。
さて、その結果はどうなるでしょうか。
果たしてgoogleはこちらの好み通りに直してくれるでしょうか。
まあ、どうであれ楽しみではあります。
結果は追って報告したいと思います。

残念!Global Content Blocks

このブラグインはショートコードを作ってくれる優れものだったのだが、
もう数年前にはサポートが終わっていて、WPのプラグインのページからも削除されたいたんだね。
このようなプラグインを使っていると、いつかはサイトに不具合が出ることになる。
事実、本日WPを5.2にバージョンアップしたところ、「サイトに技術的な問題が発生しています。」と表示され、
レイアウトが乱れる現象に見舞われた。
テーマのバージョンにも関係しているかもしれないことが、影響を受けないサイトがあることから分かる。
このようなことになったのも、5.2から導入された「リカバリーモード」のせいらしい。
前にも書いたことがあるが、WPってときどき有難迷惑なことしてくれるんだよねぇ。
これはあくまで個人的な意見です。

ちょっとおかしな現象が・・・

メインのサイトとブログでは”Multi Device Switcher”というプラグインを使って
PC版とモバイル版を切り替えるようにしていますが、
グーグルとヤフーの検索エンジンではモバイル版がキャッシュされています。
もちろんPC版がキャッシュされて欲しいところですが、
これには何か良い解決策があるのでしょうか。
ヤフーの方はメニューボタンが効きませんので、他のページを開くことができません。
これはプラグインのバグと判断しても良いのかなぁ。

無限ループに陥るの巻

どういうことかというと、ブログの設置サンプルで用意しているサイトが
読み込みの際に中々完全にロードされないので、異なるブラウザで同時に表示させてみたところ、
片方で途轍もないスピードで読み込みを繰り返している現象が見られた。
一体いつからこうなっていたんだろう?
更新はしなくても時々は見るようにしないと・・・。
トラブルの解決には少し時間を要したが、現在は元通りというか普通に見ることができる。
原因は何だったのかというと、更新が何年もなされていないプラグインが他のプラグインと
コンフリクトを起こしていたようだ。
その証拠にそのプラグインの使用を止めると、あっさりと問題が解消された。
WordPressの進歩は速いので、プラグインの中にはそれについて行けてないのが結構あるじゃないのかなぁ。
無料で使わせてもらっている手前、ユーザーとしては何の文句も言えないのが辛いところだね。

カスタムメニューのソース的整形

カスタムメニューをデフォルトのまま導入すると
最初のliタグが改行されずに吐き出されてしまう。
この問題を手っ取り早く解決するには、
”ulタグを自動的に入れない”という以下のようなテンプレートタグを使う方法がある。

<?php wp_nav_menu( array( 'items_wrap' => '%3$s' ) ); ?>

その代り自分で直接header.phpにulタグを書き込む必要がある。
デフォルトだと”menu-”という接頭語的なものが自分が設定した
メニューのタイトルに付くが、これも回避できる。
Id名とかClass名はできるだけ短い方が良いと思うし、
必ず一緒に付くclassも必要がないと感じれば省くことができる。
因みに、下のように書くとデフォルトで吐き出されるcontainerタグも無しにできる。
また、前述したテンプレートと合体して使うこともできる。

<?php wp_nav_menu( array( 'container' => '' ) ); ?>

リストタグに付くやたら長くて多いId名やClass名を省くやり方は
多くの方が説明していらっしゃるので、そちらを参照してください。

カスタムメニューで任意のアイテムに”current”を付ける

例えば、このブログのような運営をしている場合、メニューの「WEBLOG」というところには
index.phpにより表示される記事のページにしか”current”というクラス名は付かない。
言い換えれば、投稿やコメントの個別ページ、カテゴリー、アーカイブ、検索などのページには
“current”は付かない。
これをWEBLOGに関するところでは全部”current”が付くようにする方法は、
WordPress Codexに条件分岐のテンプレートタグとして以下のように載っています。

<?php
add_filter('nav_menu_css_class' , 'special_nav_class' , 10 , 2);
function special_nav_class($classes, $item){
     if(is_single() && $item->title == "Blog"){ //この行は状況により変更が必要
             $classes[] = "special-class";
     }
     return $classes;
}
?>

因みに”is_single()”の条件分岐だと投稿やコメントの個別ページにしか”current”は付かないようだ。
“is_singular()”だとカテゴリー、アーカイブ、検索のページまでカバーされる。
ただ、注意しないとブログのトップページに”current”が重複して付いてしまったり、
他のアイテムを表示しているときにも同時に”current”が付いてしまう。
除外するための”!is_xxx()”(”xxx”のところには”single”,”singular”,”page”などが入る)を
忘れないようにしよう。

“weblog”というタイトルの公式テーマが登場して・・・

ちょっと都合が悪いことになってしまった。
というのも、このブログはサイトアドレス (URL)とテーマフォルダ名を同一にしていたため、
更新のお知らせが表示されるようになったのだ。
自分自身は更新ボタンなんかまずクリックすることはないだろうが、
新し物好きの人やセキュリティを重視する人などは進んでクリックするかもしれない。
デフォルトのファイルが同じでない限り、誤って更新すると大変なことになりそうだ。
この問題の対策としては、functions.phpファイルに更新のお知らせが表示されないような
コードを書き加えるか、サイトのアドレスとテーマフォルダ名を異なるものにするしかないようだ。
筆者自身は前者の対策がベターだと思う。
ただ、コードによっては特定のテーマだけを対象にできないものもあるので注意が必要だ。
後者の対策は色々と変更しなければならない点が多いので、あまりお勧めできない。
上の二つしかないと書いておきながら何だが、
他の対策としてはstyle.CSSファイルのバージョン番号を上げておくというのもあるそうだ。
ひょっとして、これが一番手っ取り早かったりして・・・。

既存サイトの子テーマフォルダ名を変更するとき

注意点がいくつかある。
もちろん、フォルダ名をただ変えただけでは駄目だ。
先ず、テーマを有効化し直さないといけない。
これで万事OKかと思ったら、そうは問屋が卸さない。
ディレクトリをphpのコードで取得していた場合は何の問題もないが、
画像などタグの直入力でアップしていた場合は変更が必要だ。
あと、ウィジェットで使っていたものは使用停止中になるので、
戻してやる必要がある。
タグの入力し直しが多い場合は、データベースを弄った方が楽かもしれない。

検索結果に欲しいヒット件数

検索結果:○○○ の下辺りに、
何件の記事がヒットしたかの件数表示があれば有難いと思うのは筆者だけだろうか。
ググってみると、件数取得のコードはたったの一行です。
前後に文章を入れてCSSのためのタグを加えたとしても一行で済みます。
編集するファイルはテーマフォルダ内のsearch.phpです。
この編集は絶対にお勧めです。