diff --git a/.github/workflows/add-to-release-notes.yml b/.github/workflows/add-to-release-notes.yml index 38fd6d9c88b..be96e3b2ec0 100644 --- a/.github/workflows/add-to-release-notes.yml +++ b/.github/workflows/add-to-release-notes.yml @@ -16,6 +16,6 @@ jobs: if: github.repository == 'HTTPArchive/almanac.httparchive.org' steps: - name: Update release notes - uses: release-drafter/release-drafter@v5.17.6 + uses: release-drafter/release-drafter@v5.18.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/code-static-analysis.yml b/.github/workflows/code-static-analysis.yml index db08fb7bea1..0915e3a4f00 100644 --- a/.github/workflows/code-static-analysis.yml +++ b/.github/workflows/code-static-analysis.yml @@ -35,7 +35,7 @@ jobs: uses: actions/checkout@v2.4.0 - name: Set up Python 3.8 if: ${{ matrix.language == 'python' }} - uses: actions/setup-python@v2.3.1 + uses: actions/setup-python@v2.3.2 with: python-version: '3.8' - name: Install dependencies diff --git a/.github/workflows/lintsql.yml b/.github/workflows/lintsql.yml index 13e9e5f53d5..7c4e62e7ac9 100644 --- a/.github/workflows/lintsql.yml +++ b/.github/workflows/lintsql.yml @@ -19,7 +19,7 @@ jobs: # Full git history is needed to get a proper list of changed files within `super-linter` fetch-depth: 0 - name: Set up Python 3.8 - uses: actions/setup-python@v2.3.1 + uses: actions/setup-python@v2.3.2 with: python-version: '3.8' - name: Lint SQL code diff --git a/.github/workflows/predeploy.yml b/.github/workflows/predeploy.yml index be12e933dd2..422036220cd 100644 --- a/.github/workflows/predeploy.yml +++ b/.github/workflows/predeploy.yml @@ -36,7 +36,7 @@ jobs: with: node-version: '15' - name: Set up Python 3.8 - uses: actions/setup-python@v2.3.1 + uses: actions/setup-python@v2.3.2 with: python-version: '3.8' - name: Install Asian Fonts diff --git a/.github/workflows/test_website.yml b/.github/workflows/test_website.yml index 92411388b8f..c9024bc5414 100644 --- a/.github/workflows/test_website.yml +++ b/.github/workflows/test_website.yml @@ -30,7 +30,7 @@ jobs: with: node-version: '15' - name: Set up Python 3.8 - uses: actions/setup-python@v2.3.1 + uses: actions/setup-python@v2.3.2 with: python-version: '3.8' - name: Run the website diff --git a/src/config/last_updated.json b/src/config/last_updated.json index 589535e04bf..31dc3ad6816 100644 --- a/src/config/last_updated.json +++ b/src/config/last_updated.json @@ -51,87 +51,87 @@ }, "/static/pdfs/web_almanac_2019_en.pdf": { "date_published": "2020-05-15T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "c23cb5aa064f042ab37e87acc59d36fe", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "1f0408a5deabd0b70f9616a33eee9c2d", "size": 17 }, "/static/pdfs/web_almanac_2019_en_cover_A5.pdf": { "date_published": "2020-05-15T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "4b51f60a04e0c0ecd6fa147d2b211113" + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "01ceb5efb3a40c2e1d1a3c28cd293e31" }, "/static/pdfs/web_almanac_2019_en_print_A5.pdf": { "date_published": "2020-05-15T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "e9f619c9873deea477ce27ea088ab914", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "1db914e1a8b0aaed13065236626496b0", "size": 16 }, "/static/pdfs/web_almanac_2019_ja.pdf": { "date_published": "2020-05-15T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "fab102840f52009a6da9b8423b6a4826", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "81e6ce19a22399abbcece3daa38fa22e", "size": 17 }, "/static/pdfs/web_almanac_2019_ja_cover_A5.pdf": { "date_published": "2020-05-15T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "754b79e757b1dd04d5a2953579010c58" + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "7d57c754e71b9aecc826966908e922da" }, "/static/pdfs/web_almanac_2019_ja_print_A5.pdf": { "date_published": "2020-05-15T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "0602c4eb5aff15b1301b815a4ccc6751", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "883365c17f446aa04d8aa406e86fcdb5", "size": 17 }, "/static/pdfs/web_almanac_2020_en.pdf": { "date_published": "2020-12-08T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "38b147bea6aa1afe96cd3840f67b47b8", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "dad7303ede4c48e3bddb497146ee422f", "size": 24 }, "/static/pdfs/web_almanac_2020_en_cover_A5.pdf": { "date_published": "2020-12-09T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "f6905b91c2e2c823cdfa26fe806f297b" + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "9e680a2eb107d9c71e31f204adbfd9c8" }, "/static/pdfs/web_almanac_2020_en_print_A5.pdf": { "date_published": "2020-12-09T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "2b60d3993cbc07c51fe290e9b3ac1a80", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "6f0f8bd31d6010252d24585b91f11cd2", "size": 24 }, "/static/pdfs/web_almanac_2020_ja.pdf": { "date_published": "2021-10-24T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "330a0271e1ddefe20fd084d5bce7302a", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "594c6b53c89add8b9a1638d96c13ad88", "size": 24 }, "/static/pdfs/web_almanac_2020_ja_cover_A5.pdf": { "date_published": "2021-10-24T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "d82ac0f97ff2eab857cc547e6f1f2a5d" + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "a318052a6c4abf7fd424697f3ecf29f6" }, "/static/pdfs/web_almanac_2020_ja_print_A5.pdf": { "date_published": "2021-10-24T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "8835c274674b37f83ca61691f63a1c9c", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "8034be028ec290ca9fd99dd10b7db94c", "size": 24 }, "/static/pdfs/web_almanac_2021_en.pdf": { "date_published": "2021-12-01T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "88ac63f193f0715b0726d632e29519bf", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "88bc8316184ddee4e54d256f0827e3d6", "size": 32 }, "/static/pdfs/web_almanac_2021_en_cover_A5.pdf": { "date_published": "2021-12-01T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "6cd21ce044de4e655aace0af79089d8f" + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "27d75e836f33f607d464384b029191a7" }, "/static/pdfs/web_almanac_2021_en_print_A5.pdf": { "date_published": "2021-12-01T00:00:00.000Z", - "date_modified": "2022-02-02T00:00:00.000Z", - "hash": "62f5c2e650c88fa8b0e5673b387c2d29", + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "99c11d7d6f646a7c78e1137e2b7370d4", "size": 31 }, "en/2019/chapters/accessibility.html": { @@ -516,8 +516,8 @@ }, "en/2021/chapters/seo.html": { "date_published": "2021-12-01T00:00:00.000Z", - "date_modified": "2022-01-30T00:00:00.000Z", - "hash": "097e213b00ae9c66d6ea01587f8c8db0" + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "800c8816ecdf4aefe4a2a84fe060d7bc" }, "en/2021/chapters/structured-data.html": { "date_published": "2021-11-17T00:00:00.000Z", @@ -1226,8 +1226,8 @@ }, "ja/2021/chapters/seo.html": { "date_published": "2022-01-30T00:00:00.000Z", - "date_modified": "2022-01-30T00:00:00.000Z", - "hash": "aaa049896ba8239bbb5063fc55686541" + "date_modified": "2022-02-06T00:00:00.000Z", + "hash": "4a526a48a086ad6fc1604876557a5bf9" }, "ja/2021/chapters/structured-data.html": { "date_published": "2022-01-03T00:00:00.000Z", diff --git a/src/content/en/2021/seo.md b/src/content/en/2021/seo.md index 6cded34c254..0ec4ab9f1d2 100644 --- a/src/content/en/2021/seo.md +++ b/src/content/en/2021/seo.md @@ -667,12 +667,12 @@ While a significant portion of links on the web are text based, a portion also l ### Link attributes -In September of 2019, Google introduced attributes that allow publishers to classify links as being _sponsored_ or _user-generated content_. These attributes are in addition to `rel=nofollow` which was previously introduced in 2005. The new attributes, `rel=ug` and `rel=sponsored`, add additional information to the links. +In September of 2019, Google introduced attributes that allow publishers to classify links as being _sponsored_ or _user-generated content_. These attributes are in addition to `rel=nofollow` which was previously introduced in 2005. The new attributes, `rel=ugc` and `rel=sponsored`, add additional information to the links. {{ figure_markup( image="rel-attibute-usage.png", caption="Rel attribute usage.", - description="Bar chart showing the usage (in percent) of rel attributes on desktop and mobile. Our data found that that 29.2% of homepages featured nofollow attributes on their desktop version and 30.7% on mobile. Rel=noopener was featured on 31.6% of desktop pages and 30.1% on mobile. Rel=noreferrer was featured on 15.8% of desktop pages and 14.8% of mobile. Rel=dofollow, Rel=ugc, Rel=sponsored, and Rel=follow were all featured on fewer than 1% of desktop and mobile pages.", + description='Bar chart showing the usage (in percent) of rel attributes on desktop and mobile. Our data found that that 29.2% of homepages featured nofollow attributes on their desktop version and 30.7% on mobile. `rel="noopener"` was featured on 31.6% of desktop pages and 30.1% on mobile. `rel="noreferrer"` was featured on 15.8% of desktop pages and 14.8% of mobile. `rel="dofollow"`, `rel="ugc"`, `rel="sponsored"`, and `rel="follow"` were all featured on fewer than 1% of desktop and mobile pages.', chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vQ7oSHa6DHYTfZqsuGmIYdlfYVkwrUvOYD_r6soecExV_ZpbbZjmG6watu0hwrOKqK3-inNrt0TfXCO/pubchart?oid=1672151299&format=interactive", sheets_gid="1936997045", sql_file="anchor-rel-attribute-usage.sql" @@ -705,7 +705,7 @@ However, AMP adoption continued to increase in 2021. 0.09% of desktop pages now To let search engines know about localized versions of your pages, use `hreflang` tags. `hreflang` attributes are also used by Yandex and Bing ([to some extent](https://twitter.com/facan/status/1304120691172601856)). @@ -724,7 +724,7 @@ To let search engines know about localized versions of your pages, use `hreflang 9.0% of desktop pages and 8.4% of mobile pages use the hreflang attribute. -There are three ways of implementing `hreflang` information: in HTML `
` elements, `X-robots` headers, and with XML sitemaps. This data does not include data for XML sitemaps. +There are three ways of implementing `hreflang` information: in HTML `` elements, `Link` headers, and with XML sitemaps. This data does not include data for XML sitemaps. The most popular hreflang attribute is `"en"` (English version). 4.75% of mobile homepages use it and 5.32% of desktop homepages. diff --git a/src/content/ja/2021/seo.md b/src/content/ja/2021/seo.md index 5b1d4cd3caf..4f90f1f37cd 100644 --- a/src/content/ja/2021/seo.md +++ b/src/content/ja/2021/seo.md @@ -667,12 +667,12 @@ Core Web Vitalsは、Googleのページ体験シグナルの一部である新 ### リンク属性 -2019年9月、Googleはリンクを_スポンサー_または_ユーザーが作成したコンテンツ_に分類できる属性を導入しました。これらの属性は、以前2005年に導入された`rel=nofollow`を追加したものです。新しい属性である `rel=ug` と `rel=sponsored` は、リンクに追加情報を与えます。 +2019年9月、Googleはリンクを_スポンサー_または_ユーザーが作成したコンテンツ_に分類できる属性を導入しました。これらの属性は、以前2005年に導入された`rel=nofollow`を追加したものです。新しい属性である `rel=ugc` と `rel=sponsored` は、リンクに追加情報を与えます。 {{ figure_markup( image="rel-attibute-usage.png", caption="Rel属性の使用状況。", - description="デスクトップとモバイルでのrel属性の使用率(%)を示す棒グラフ。当社のデータでは、デスクトップ版で29.2%、モバイル版では30.7%のホームページがnofollow属性を採用していることがわかりました。Rel=noopenerは、デスクトップページの31.6%、モバイルページの30.1%で採用されました。Rel=noreferrerはデスクトップページの15.8%、モバイルページの14.8%に掲載されました。Rel=dofollow、Rel=ugc、Rel=sponsored、Rel=followはいずれもデスクトップとモバイルのページの1%未満にしか表示されませんでした。", + description='デスクトップとモバイルでのrel属性の使用率(%)を示す棒グラフ。当社のデータでは、デスクトップ版で29.2%、モバイル版では30.7%のホームページがnofollow属性を採用していることがわかりました。`rel="noopener"`は、デスクトップページの31.6%、モバイルページの30.1%で採用されました。`rel="noreferrer"`はデスクトップページの15.8%、モバイルページの14.8%に掲載されました。`rel="dofollow"`、`rel="ugc"`、`rel="sponsored"`、`rel="follow"`はいずれもデスクトップとモバイルのページの1%未満にしか表示されませんでした。', chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vQ7oSHa6DHYTfZqsuGmIYdlfYVkwrUvOYD_r6soecExV_ZpbbZjmG6watu0hwrOKqK3-inNrt0TfXCO/pubchart?oid=1672151299&format=interactive", sheets_gid="1936997045", sql_file="anchor-rel-attribute-usage.sql" @@ -705,7 +705,7 @@ Core Web Vitalsは、Googleのページ体験シグナルの一部である新 検索エンジンにローカライズされたページを知らせるには、`hreflang`タグを使用します。`hreflang`属性は、Yandex やBing([ある程度](https://twitter.com/facan/status/1304120691172601856))でも使用されています。 @@ -724,7 +724,7 @@ Core Web Vitalsは、Googleのページ体験シグナルの一部である新 デスクトップ用ページの9.0%、モバイル用ページの8.4%がhreflang属性を使用しています。 -`hreflang` 情報の実装方法には、HTMLの `` 要素、 `X-robots` ヘッダー、XMLサイトマップの3つがあります。このデータには、XMLサイトマップのデータは含まれていない。 +`hreflang` 情報の実装方法には、HTMLの `` 要素、 `Link` ヘッダー、XMLサイトマップの3つがあります。このデータには、XMLサイトマップのデータは含まれていない。 hreflang属性でもっとも利用されているのは、`"en"`(英語版)です。モバイル用ホームページの4.75%、デスクトップ用ホームページの5.32%が使用しています。 diff --git a/src/requirements.txt b/src/requirements.txt index d2e9674bc4a..78ce9c00ffe 100644 --- a/src/requirements.txt +++ b/src/requirements.txt @@ -1,7 +1,7 @@ flask==2.0.2 flask-talisman==0.8.1 gunicorn==20.1.0 -pytest==6.2.5 +pytest==7.0.0 pytest-watch==4.2.0 pytest-cov==3.0.0 sqlfluff==0.9.4