ブログ

ソース解説(5) 文字列を自分で組み立てる場所
このサイトで、HTMLを文字列として自分で組み立てている場所は2つあります。RSSフィードとサイトマップです。 画面に出るページは、部品を組み合わせれば勝手に出来上がります。この2つは違います。1行ずつ並べて、最後に文字 […]

そのページは何だと名乗っているか
用語集の分類ページを調べていて、妙な指定に気づきました。このページは「記事」だと名乗っていました。 中身は用語が並んだ一覧です。公開日もなければ、書いた人もいません。それでも、SNSや検索エンジンに向けては「これは1本の […]

見た目で区別が付いているものは、機械には区別が付いていない
見た目で伝わっている区別が、機械には伝わっていなかった話です。何が起きていたか、どう直したか、そして「見えるから伝わっている」という思い込みについて書きます。

一部だけ足したつもりが、丸ごと置き換わっていた
1行足したつもりでした。実際には、そのページの共有画像が消えていました。 しかも消えたのは、その日に触ったページだけではありません。調べたら、以前から9ページで同じことが起きていました。画面には出ず、動作も壊れず、誰も気 […]

見つけてもらうために、書き方は変えない
このサイトで検索まわりにやってきたことの記録。順位を上げる話ではなく、存在を知らせることと、探している人の言葉に近づけること。記事の見出しと検索結果の文字を分けた判断まで。

登録してから、広告を出すまで
成果報酬型の広告を扱えるようにした。手続き自体は難しくないが、順番を間違えると手戻りになる。準備・判断・置かない場所の決め方をまとめた記録。

分類は、探す人の手がかりではない
116語の用語集を8分野に分けたが、WAFを調べたい人は分野を当てないとたどり着けない。分類が誰のためのものかを考え直し、検索を付けた記録。

最初の画面に、本文が無かった
記事ページを測ったら、本文が始まるのは772px、画面の高さは723pxだった。最初の画面に文章が1文字も無い。アイキャッチ・コピーボタン・見出しリンク・関連記事の4点を直した記録。

ページを消すとき、一緒に消えるもの
実績とスキルの個別ページをトップページへ統合した。作業はidを付けて2枚消すだけだが、決めることは消すほうに集まっていた。転送・sitemap・アンカーが動かない問題の記録。

使っていないものは、書かない
広告を検討して手が止まったのは、広告ではなくプライバシーポリシーが無かったこと。テンプレートを貼らなかった理由と、置き場所・管理の仕方をどう決めたか。

順番で決まる名前は、いつか壊れる
用語集の102語に記事からリンクを張ろうとしたら、そのIDが「何番目に出てきたか」で決まっていた。1語足すたびに以降が全部ずれる仕組みを、手書きの対応表に置き換えた話。

1語1ページにしなかった理由
用語集を作るとき、1語につき1ページにするか、まとめて1ページにするか。解説を厚くすると決めた時点で前提が変わり、最初の判断を見直すことになった。薄いページを大量に作るリスクと、本番のPHPを触れないという制約から、分野別8ページという形にたどり着いた記録。

推測させるのをやめる
sitemap.xml・robots.txt・構造化データ。バラバラの施策に見えて、やっていることは同じだった。これまで相手に推測させていたことを、こちらから明示的に伝える。そして実装中に見つけた、一覧用のクエリを流用すると21本目から静かに漏れ始めるという落とし穴。

所有権をどう証明するか
Search Consoleが提示する5つの確認方法は、それぞれ証明している中身が違う。ファイルやHTMLタグは「サイトの中身に手が届く」ことしか示さないが、DNSのTXTレコードだけは「ドメインそのものを支配している」ことを示す。そして実作業では、正しい値を書いたのに反映されなかった。参照されていない管理画面に書いていたためで、「保存できた」は「効いている」ではないという話。

wwwのあるなしで、別のサイトになる
kisaku.site と www.kisaku.site はどちらを開いても同じ画面が出る。しかし機械から見ると別のサイトになる。apexドメインにCNAMEを置けない理由と、Search Console・GA4・OGPの3か所すべてで同じホスト名に揃えなければならなかった話。

「来なかった人」を見るために
アクセス解析は来た人しか教えてくれない。検索結果に出たのに押されなかった、そもそも出ていない——それを見るのがSearch Console。プロパティ種別と所有権の確認方法を、5つの選択肢から選ぶまでの判断。