Standard

Create an Item

Items

Latest comments

Webページでのhreflangの設定に関するGoogleの情報

takuma_tech Takuma @takuma_tech
Last edited

以下のようなHTML等でのhreflangの設定は、SEO (Search Engine Optimization)と関係して、検索エンジンにページの関係性を正しく認識してもらうために行う場合が大半だと思います。

<html>
  <head>
    <link rel="alternate" hreflang="en" href="https://example.com/en/page.html">
    <link rel="alternate" hreflang="ja" href="https://example.com/ja/page.html">
    <link rel="alternate" hreflang="x-default" href="https://example.com/page.html">
  </head>
  <body>
  ...
  </body>
</html>

そして、日本では最も最適化をしたい検索エンジンはGoogleの場合が大半だと思います。

Googleが説明するhreflangの設定の仕方

Googleが公開している以下のWebページには、Googleが期待するhreflangの設定の仕方が説明されています。

ページのローカライズ版について Google に知らせる: https://developers.google.com/search/docs/specialty/international/localized-versions?hl=ja

以上、Google検索結果で良い感じに表示されることを目指してhreflangの設定するのであれば、まずはこちらのWebページを参考にすると良いのではないかと思いまして、ご紹介いたしました。

0
Raw
https://www.techtips.page/en/comments/546
🔧5
❤️2
😄1
🙋1
💯1

-apple-systemは、和文フォントを少し小さく表示する

teatea1024 TeaTea @teatea1024
Last edited

CSSのfont-familyに-apple-systemを入れ、Appleのデバイスを利用してこの-apple-systemが効いている状態で日本語のWebサイトを見ると、和文が少し小さいフォントサイズで表示されます。つまり、-apple-system では12ptを指定しても和文フォントは12ptで表示されません
ということで、Figmaなどのデザインツールで決めたフォントサイズをそのまま指定すると-apple-system では少し小さく表示される点には注意が必要です

ちなみに、-apple-systemが何故このようなことになっているかというと、一般に欧文フォントより和文フォントを少し小さく表示した方が文字サイズのバランスが良いと言われているので、欧文フォントとの文字サイズのバランスを取ったためだと思われます。

0
Raw
https://www.techtips.page/en/comments/312
🔧1
😿1

JSONのobject name (hash key)は文字列限定

wakairo @wakairo
Last edited

JSONのobject name(辞書やハッシュ、連想配列におけるキーに相当するもの)の型は文字列のみに限定されています。 規格書のObjectsのセクションには、"A name is a string"と明記されています。

Rubyでの検証例

RubyでJSONライブラリを利用した場合でも、当然ですが、以下のようにキーは全て文字列になります。 また、その結果、JSON文字列からRubyのハッシュを再構築すると、元のハッシュと異なったものになってしまいます。

require "json"

data = {"string" => "String", :symbol => "Symbol", 1 => "Integer"}
str = JSON.dump(data)
# => "{\"string\":\"String\",\"symbol\":\"Symbol\",\"1\":\"Integer\"}"
JSON.parse(str)
# => {"string"=>"String", "symbol"=>"Symbol", "1"=>"Integer"}

したがって、キーに文字列以外を用いるときには、プログラム側で適宜キャストするなどの対応が必要となります。 その中の対応方法としては、JSONではなく、以下のようにYAMLを使うという手もあります。

require "yaml"

data = {"string" => "String", :symbol => "Symbol", 1 => "Integer"}
str = YAML.dump(data)
# => "---\nstring: String\n:symbol: Symbol\n1: Integer\n"
YAML.load(str)
# => {"string"=>"String", :symbol=>"Symbol", 1=>"Integer"}

ただし対応方法の選択においては、セキュリティの観点での注意が必要です。 一般に、JSONよりもYAMLの方が高度な記述が可能であるため、YAMLの方がセキュリティの問題が起きやすいと考えられます。 実際にYAMLを悪用した攻撃手法が知られています。 ですので、ユーザーが任意の記述を送り込めるような場面では、JSONにするかYAMLにするか、はたまたXMLなどの第三の規格にするかの選択において特に慎重な判断が求められます。

0
Raw
https://www.techtips.page/en/comments/270
😄2
🔧1
💯1