seo最適化 robots.txt
robots.txtとは
robots.txt
はクロール最適化の手段の一つで、検索結果に必要のないページへのクロールを制御し、重要なページのみを認識してもらうようにしてSEOを改善するものであります。
不要なページに対するクローラーのアクセスをブロックすることができる。 クローラーを回す必要のあるページに多くのクローラーが回るようになるためサイト全体のSEOが改善されます。
robots.txtの書き方
User-Agent:* Disallow:
User-Agent
どのクローラーの動きを制御するかの指定で、*
は全てのクローラーに指示します。
例えば、User-Agent:Googlebot-image
だと画像用クローラーのみに指示することができる。
Dissallow
クローラーのアクセスを制御するファイルを指定します。
全サイトをブロックするなら/
。特定のページをブロックするなら/hogehoge.html
のようにページを指定します。
最後に
robots.txt
が必ず必要かどうかというと、これを設定したからといってすごい効果があるというわけではないですが、少なからず設定していないよりは良いので、seo更に向上したいと考えているならやってみる価値はあると思います。
css initial inherit の違い
cssの設定で何かを初期化したい時にinitial
プロパティがありますが、似たような名前のプロパティでinherit
があります。
このinherit
ってそういえばなんぞやと思ったので調べました。
inherit
は訳すと「受け継ぐ」という意味で、調べてみてやっと納得した次第でこざいます。
<div> <p>テスト</p> </div>
というDOMがあった場合
div { color: red; }
とするとpタグで囲まれてるテストという文字は赤色になります。
これはdivに設定されたcolor
がpタグに継承されて色が変わっています。
テストという文字を赤色にしたくない場合は
p { color: initial; }
にすれば継承がなくなり、赤色ではなくなります。
もともと継承がされないプロパティもあるので、逆に継承をさせたい場合はinherit
を指定してあげると、親に設定されたスタイルを継承する事ができます。
Reactバージョン16から文字列をそのままrenderできる
Reactはrender時に文字列だけだったりをそのままrenderする事ができませんでした。
そのため必ず<p>テストテスト</p>
のようにタグを挿入する必要があったため
Reactの1つの悩みであった階層が深くなりがちだったりするのを回避する事ができそうです。
render() { return <p>テストテスト</p>'; }
のように記述する必要があったのが
render() { return 'テストテスト'; }
と余計なpタグを減らす事ができます。
react-routerのパスを正規表現でバリデーションする
react-routerの4系以上からで
/hogehoge/:id
のように:id
部分の入ってくる値を整数値だけにしたい場合
/hogehoge/:id(\d+)
のように正規表現を指定する事ができます。
<Route path="/hogehoge/:id(\d+)" component={Hoge} />
これでルーティングを細かく制御したり、リダイレクト処理をしたりと自由に処理を扱う事ができそうです。
文字詰めCSS font-feature-settings
テキストの文字詰めをしたい時に役立つのがfont-feature-settings
プロパティ。
font-feature-settings: "palt" 約物を含む和文の字間を詰める font-feature-settings: "pkna" 仮名系のみ字間を詰める
この2種の設定方法があります。
文字詰した方が見やすい場合もありますが、そうでない場合もあるのでその場合はletter-spacing
で調節するのが良さそうです。
ほとんどのブラウザで対応されていますが、webフォント等の影響で文字が崩れたりする場合があるので注意しましょう。
文字詰時の参考になるサンプルページがあったので載せておきます。
折り返し制御するcss
長いテキストや長いURLを途中で折り返す時にcssで設定する主なプロパティが
word-break: break-all
または
word-wrap: word-break; overflow-wrap: word-break;
word-wrap
とoverflow-wrap
を併記していますが、word-wrap
からoverflow-wrap
へと改称されたためです。ブラウザによってoverflow-wrap
がサポートされていなかったりするので、word-wrap
も一緒に記載すると良いです。
それぞれ名前が似ていますが、挙動が違います。
word-break: break-all
好ましくない位置でテキストを折り返してしまうことがあります。
例えばor
のような単語でも、or
が行ボックスの幅からあふれそうな位置にあれば、あふれる直前で折り返すためo
とr
の途中で折り返してしまいます。
word-wrap: break-word
単語の途中で折り返さないと行ボックスの幅からあふれてしまうときのみ、その単語の途中で折り返します。 可能な限り折り返しを避けることができます。
Cache-Control max-age=0 no-cache
ブラウザのキャッシュを制御するのに設定するのが、Cache-Control
。
Cache-Control: max-age=N
のようにしてレスポンスヘッダに設定して使います。
設定方法に、Cache-Control: max-age=0
とCache-Contro: no-cache
があるのですが、二つともキャッシュ制限してないようにみられます。
ですが、それぞれ同じようで挙動が違うので書き留めておきます。
max-age=0
validateして最新と判定できたならキャッシュを返します。最新なら304 を返します。
no-cache
no-cacheはcache
を使うことを許していません。なのでvalidateすらせず200で返すように促します。