コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

GoogleAdManagerを無料で使う場合、1ヶ月あたりに表示できるインプレッションには上限がある

知らなかったのでメモ。

出典

Terms & Conditions – DoubleClick for Publishers – Small Business

AdManagerの前進のDFP利用規約

Using the Program, You are permitted to serve without charge up to (A) (i) 90 million impressions per month to non-video ad units if You are located in the United States of America, Canada, Australia, or New Zealand; (ii) 200 million impressions per month to non-video ad units if you are located in the Russian Federation, Slovakia, Czech Republic, Greece, Slovenia, Lithuania, Romania, Poland, Ukraine, Hungary, Croatia, Bosnia and Herzegovina, Cyprus, Kenya, Morocco, Estonia, Latvia, Bulgaria, Turkey, Lebanon, Israel, United Arab Emirates, Saudi Arabia, Egypt, South Africa, Mexico, Argentina, Chile, Columbia, Guatemala, Uruguay, Peru, India, Taiwan, Malaysia, Korea, Hong Kong, Indonesia, Pakistan, Thailand, Philippines, China, Vietnam, Bangladesh, or Sri Lanka; or (iii) 150 million impressions per month to non-video ad units if You are not located in any of the countries listed in the preceding clauses (i.e., clauses (A)(i) and (A)(ii)); and (B) 800,000 video advertisement impressions per month (collectively (A) and (B), "Impression Limits").

上の内容を噛み砕いて無償枠の話を読み解くと

ということになり、日本は一番最後のものに該当するので、1億5千万回までとなる。

関連リンク

metaタグの robotsで指定できる値に関してざっくりまとめる

仕様が単一にまとまっているものではないので、利用できるものをまとめる

検討するクローラー

今回焦点を当てるのは GoogleBing 。 YahooJapanはすでにGoogle検索を利用しているので今回は考慮しない。

出典

使えるもの

説明 Google Bing
all インデックスの登録に制限を設けない。既定値。 ?
noindex 検索結果のインデックスに登録させない。
nofollow ページ内のリンク情報を辿らせない。(どういうことかは関連リンク参照)
noarchive 検索結果にキャッシュ表示をさせない
nosnippet 検索結果にてサムネイルやページのプレビューを生成させない
max-snippet: [number] 検索結果にてテキストスニペットに使われる最大文字数をnumberに設定できる。0の場合はnosnipepetと同義、-1を指定すると特段リミットを設定しません。
max-image-preview: [setting] 検索結果のページプレビューサイズに関して設定をすることができる。 none が 画像プレビューを表示させない、 standard はデフォルトのサイズ、large はスタンダードと同等かそれ以上に大きいサイズをプレビュー表示させます。
max-video-preview: [number] 検索結果で動画を表示する際の最大秒数をnumberに設定できる。0を指定すると動画は使わず静止画となり、-1を指定すると制限は特にかけないことになる
noodp Open Directory Projectに登録させない記述だが、プロジェクト自体が2017年に運用が停止しているのでGoogleでは意味のあるタグとして認識されなくなった。 -
nocache noarchiveと同義 -
none noindexとnofollowを同時指定( noindex,nofollow )と同義 -
notranslate 検索結果でこのページを翻訳させない -
noimageindex 検索結果で指定されたページの画像をインデックスさせない -
unavailable_after: [date/time] 検索結果に、date/timeで指定した日時以降は表示させない -

書き方

標準的な記述方法は以下

<meta name="robots" content="noindex">

複数のものを指定したい場合は , で並べる

<meta name="robots" content="noindex,noarchive">

関連リンク

サーバーのリダイレクトとJavascriptのリダイレクトはGoogleの評価としては変わらないと考えられる

リダイレクトの仕方次第ではページ評価が下がるのでは、というところでそこに関する内容をまとめる

今回気にかけること

とあるページが移転したときにリダイレクトとして

  • サーバサイドのレスポンス(apacheやnginx)でのリダイレクト処理
  • JavaScriptによるリダイレクト処理 ( window.location.href('https;//example.com') のような記述)

この2つの方法において、Googleからの評価は同等であるか?ということ

Googleのドキュメントいわく

Googleに不正なリダイレクトに関しての記述がある

不正なリダイレクト  |  検索セントラル  |  Google Developers

その中に以下の記述がある

JavaScript を使用したリダイレクトが正当な行為にあたる場合もあります。たとえば、ユーザーのログイン後に内部ページにリダイレクトする場合は、JavaScript を使用しても問題ありません。JavaScript やその他のリダイレクト手法を使用したサイトが Googleガイドラインに沿っているかどうかを確認する際には、その目的を考慮してください。サイトの移転にあたっては 301 リダイレクトが最適ですが、ウェブサイトのサーバーにアクセスできない場合は、この目的で JavaScript によるリダイレクトを使用することもできます。

とのことで、明確に同列とは語られてはいないが、JavaScriptで対応することで不利になるような話は書いていない

ジョンミューラーいわく

Googleの検索周りの質問などに答えるジョンミューラーがQuestionに答える#AskGoogleWebmastersの動画内で問答があった。

www.youtube.com

上記の動画では

Can Google evergreen Chromium detect client-side Javascript redirects? I'm not able to submit GSC indexing request to pages tha have client-side JS redirect to a subscription page.

というchromium製のbotになったときにJSのリダイレクトは検知できるかという質問だったが、この中でサーバーのリダイレクトと同等に追跡できるとしている。

まとめ

ドキュメントとしての側面、Google側の案内としての側面からしてもサーバーリダイレクトの評価とJSでのリダイレクトの評価に差異がないような作りとして考えて問題がないと思われる

関連サイト

Asia/TokyoなどのTimeZoneの定義情報は現在IANAが管理している

Asia/Tokyo 等の文字列定義ってどこにあるのかを調べる。

出典/どこにあるか

IANA — Time Zone Database

上記のページに記載がある

The Time Zone Database (often called tz or zoneinfo) contains code and data that represent the history of local time for many representative locations around the globe. It is updated periodically to reflect changes made by political bodies to time zone boundaries, UTC offsets, and daylight-saving rules.

機械的に和訳すると以下

タイムゾーンデータベース(tzまたはzoneinfoと呼ばれることが多い)には、世界の代表的な多くの場所のローカルタイムの歴史を表すコードとデータが含まれています。このデータベースは定期的に更新され、タイムゾーンの境界、UTCオフセット、サマータイムのルールなど、政治的機関による変更を反映しています。

上記の出典ページに行くと、タイムゾーンデータが固められた圧縮ファイルがあり、その中に各タイムゾーンの定義情報が格納されている。

管理の定義

なお、管理をどのように行うかはRFCにまとまっている。

RFC 6557: Procedures for Maintaining the Time Zone Database

リストはどこを見るといいのか

ファイルの情報が一次ソースではあるが、wikipediaにリスト状で見れる形になっているので、探すときはこちらの方便利

List of tz database time zones - Wikipedia

関連リンク

GitHubでPullRequestにCommitがされたらReviewRequestがリセットされる機能がある

「レビュー後に修正したやつがapproveしてないのにマージされている!!!」みたいのを防ぐための設定

対応ヘルプ

ブランチ保護ルールを管理する - GitHub Docs

使い方

ブランチのTOP > Settings > Branches > Add rule のボタンを押すとブランチ運用のルールを設定できる。

その中でブランチのマージに必要な最低人数を設定できる設定があるが、そこに加えて

Dismiss stale pull request approvals when new commits are pushed

というルールがあり、これが有効化されていると、コミットが修正されるとapproveしている状況が強制的に解除される。

公式ドキュメントから画像を転載すると以下の部分を設定すると反映される。

参考リンク

要配慮個人情報とは何かざっくりまとめる

ユーザ情報を管理する上で切っても切り離せない、個人情報と要配慮個人情報の話に関してざっくり理解をする。

出典

個人情報の保護に関する法律 | e-Gov法令検索

個人情報と要配慮個人情報

個人情報とは

法令内で個人情報の定義があり、それは以下。

第二条 この法律において「個人情報」とは、生存する個人に関する情報であって、次の各号のいずれかに該当するものをいう。
一 当該情報に含まれる氏名、生年月日その他の記述等(文書、図画若しくは電磁的記録(電磁的方式(電子的方式、磁気的方式その他人の知覚によっては認識することができない方式をいう。次項第二号において同じ。)で作られる記録をいう。第十八条第二項において同じ。)に記載され、若しくは記録され、又は音声、動作その他の方法を用いて表された一切の事項(個人識別符号を除く。)をいう。以下同じ。)により特定の個人を識別することができるもの(他の情報と容易に照合することができ、それにより特定の個人を識別することができることとなるものを含む。)
二 個人識別符号が含まれるもの - 個人情報の保護に関する法律 | e-Gov法令検索

補足のための括弧書きが多いが

  1. 当該情報に含まれる氏名、生年月日その他の記述等により特定の個人を識別することができるもの
  2. 個人識別符号が含まれるもの

この2つが個人情報にあたり、2の「個人識別符号」に関してはこの文章のあとに定義があり

この法律において「個人識別符号」とは、次の各号のいずれかに該当する文字、番号、記号その他の符号のうち、政令で定めるものをいう。
一 特定の個人の身体の一部の特徴を電子計算機の用に供するために変換した文字、番号、記号その他の符号であって、当該特定の個人を識別することができるもの
二 個人に提供される役務の利用若しくは個人に販売される商品の購入に関し割り当てられ、又は個人に発行されるカードその他の書類に記載され、若しくは電磁的方式により記録された文字、番号、記号その他の符号であって、その利用者若しくは購入者又は発行を受ける者ごとに異なるものとなるように割り当てられ、又は記載され、若しくは記録されることにより、特定の利用者若しくは購入者又は発行を受ける者を識別することができるもの

一はDNAや指紋の情報などを電子データに置き換えたものを想定しており、二に関しては世の中のサービスに利用する番号や文字列(ex.免許証の番号、マイナンバーカードの番号)を指している。

要配慮個人情報とは

要配慮個人情報は上記の個人情報よりも更に気を払う必要にある個人情報のこと。どのようなものが対象かというのを法令から引用すると以下。

この法律において「要配慮個人情報」とは、本人の人種、信条、社会的身分、病歴、犯罪の経歴、犯罪により害を被った事実その他本人に対する不当な差別、偏見その他の不利益が生じないようにその取扱いに特に配慮を要するものとして政令で定める記述等が含まれる個人情報をいう。

上記に記載のあるとおり主眼としているところはこの内容が知られてしまうことで不当な扱いを受ける恐れのある情報のことを指す。

金融分野における機微情報との違い

要配慮個人情報と似た概念として金融関連で「機微(センシティブ)情報」としてガイドラインを設けている

金融分野における個人情報保護に関するガイドライン

この機微情報=要配慮個人情報という観点が成立するわけではなく、部分的に違う部分があるので気をつけること。なお、違いに関しては以下のサイトでまとまっているので参考のこと。

改正個人情報保護法:機微(センシティブ)情報と要配慮個人情報(規定例も紹介)(3月26日修正版) | 弁護士法人 三宅法律事務所

参考サイト

BigQueryでTIMESTAMPをJSTの文字列に変換する

書き方をいつも忘れてしまうのでメモ的投稿。

前提条件

  • STANDARD SQLです(記載タイミングでレガシーのほうを使っているほうが稀かなと思いますが念の為)

フォーマット

JSTは+9時間なので、 Asia/Tokyoタイムゾーンを使う

FORMAT_TIMESTAMP( フォーマット文字列, 対象カラム, "Asia/Tokyo")

現在時間をJST(Asia/Tokyo)の時間で出す方法

SELECT FORMAT_TIMESTAMP( "%F %T", CURRENT_TIMESTAMP(), "Asia/Tokyo") as now_timestamp_jst

参考リンク