仕様のURL:
https://tecn.apice-tec.co.jp/tecn%e5%86%85%e9%83%a8%e3%83%aa%e3%83%b3%e3%82%af%e6%8a%bd%e5%87%bagas%e3%80%80%e3%80%80v0-3%e3%80%80%e4%bb%95%e6%a7%98%e6%9b%b8/
https://tecn.apice-tec.co.jp/tecn%e5%86%85%e9%83%a8%e3%83%aa%e3%83%b3%e3%82%af%e6%8a%bd%e5%87%bagas%e3%80%80%e3%80%80v0-3%e3%80%80%e4%bb%95%e6%a7%98%e6%9b%b8/
1. 目的
TECN記事台帳に登録されている各記事URLをもとに、公開HTMLを取得し、記事内に存在する内部リンクを抽出する。(1回 300件の台帳記載記事を対象)
機能強化:個別の URLを指定して内部リンクのメンテナンスを行う機能強化を予定している。 V0.3
取得した内部リンクは、専用シートに一覧化し、以下を把握できるようにする。
- どの記事からどの記事へリンクしているか
- どの見出し配下からリンクしているか
- アンカーテキストは何か
- ピラー記事、クラスター記事、無料DL記事への導線が足りているか
- 孤立記事や被リンク不足の記事を発見できるか
2. GASの位置づけ
本GASは、記事台帳に付属するGASではなく、独立GASとして作成する。
対象スプレッドシートIDをGAS内またはスクリプトプロパティに定義し、TECN記事台帳スプレッドシートを外部参照する。
3. 対象スプレッドシート
対象スプレッドシート: TECN記事台帳 V1.3.1 26/5/30
対象シート名:記事台帳
記事台帳の主な項目:
- 記事ID
- 記事タイトル
- URL
- ページパス
- スラッグ
- 主カテゴリ
- 従カテゴリ
- 公開日
- 更新日
- 状態
- 最終確認日
- 備考
- 従カテゴリー2
- 最新PV
4. 抽出対象記事
記事台帳シートのうち、以下の条件を満たす行を対象とする。
- URLが空白ではない
- 状態が Publish
- URLが
https://tecn.apice-tec.co.jp/で始まる - 取得対象件数は初期仕様では最大300件
将来的には、主カテゴリ単位で以下のように絞り込み可能にする。
- 在庫管理のみ
- ダイソーのみ
- LDAC-blueのみ
- WORDPRESSのみ
- 全記事
5. HTML取得方法
各記事URLに対して、GASの UrlFetchApp.fetch() を使用して公開HTMLを取得する。
取得するのはWordPress編集画面のブロックHTMLではなく、実際に公開ページとして出力されているHTMLとする。
これにより、以下のリンクも取得対象に含める。
- 本文内リンク
- カスタムHTMLリンク
- ブログパーツ内リンク
- 関連記事リンク
- ショートコード展開後のリンク
- テーマ側で出力されたリンク
6. 抽出対象リンク
HTML内の <a href=""> を抽出する。
ただし、初期仕様では以下の内部リンクのみを対象とする。
https://tecn.apice-tec.co.jp/で始まるリンク/xxxのような相対パスで、TECN内部リンクと判断できるリンク
除外候補:
- 外部サイト
#だけのページ内リンクmailto:tel:- 画像ファイル
- CSS / JS / feed
- 管理画面URL
- カテゴリ一覧URL
- タグ一覧URL
- プライバシーポリシー
- お問い合わせページ
除外条件は初期実装後に調整する。
7. 見出し判定
HTMLを上から順番に読み、直前に出現したH2またはH3を現在見出しとして保持する。
リンクが出現した時点で、直前のH2/H3をリンク元見出しとして記録する。
記録する見出し情報:
- 見出しレベル
- 見出しテキスト
例:
H2「SKUとJANの違いとは?」のあとに内部リンクが出た場合、そのリンクはこのH2配下のリンクとして記録する。
8. 出力シート
新規シート名:内部リンク抽出
出力項目:
- 取得日時
- FROM記事ID
- FROMタイトル
- FROM URL
- FROMページパス
- FROM主カテゴリ
- FROM従カテゴリ
- FROM従カテゴリー2
- FROM最新PV
- 見出しレベル
- 見出しテキスト
- TO URL
- TOページパス
- TO記事ID
- TOタイトル
- TO主カテゴリ
- TO従カテゴリ
- TO従カテゴリー2
- アンカーテキスト
- リンク種別
- nofollow
- target
- HTTPステータス
- 備考
9. TO記事情報の照合
抽出したTO URLからページパスを作成し、記事台帳のページパスと照合する。
一致した場合は、TO記事情報として以下を補完する。
- TO記事ID
- TOタイトル
- TO主カテゴリ
- TO従カテゴリ
- TO従カテゴリー2
一致しない場合は、TO記事IDなどは空白にし、備考に「記事台帳未登録」と記録する。
10. リンク種別
初期仕様では自動判定は簡易的に行う。
候補:
- 本文リンク
- ブログパーツ候補
- 関連記事候補
- メニュー・フッター候補
- 不明
ただし、初期実装では「不明」でもよい。
まずは内部リンク全体を取得することを優先する。
11. 実行単位
初期仕様では、1回の実行で最大300記事まで処理する。
将来的には以下を検討する。
- 前回処理済み行の続きから再開
- 主カテゴリ指定実行
- URL指定実行
- エラー行のみ再実行
- 取得済みHTMLキャッシュ
12. エラー処理
HTML取得時にエラーが発生した場合も、処理全体は停止しない。
記録する内容:
- HTTP 404
- HTTP 403
- fetch失敗
- タイムアウト
- HTML取得不可
- リンクなし
エラーは内部リンク抽出シートの備考欄に記録する。
13. 初期実装の優先順位
第1段階:
- 記事台帳を読む
- Publish記事のURLを取得
- 公開HTMLを取得
- 内部リンクを抽出
- 見出しレベル・見出しテキストを記録
- 内部リンク抽出シートに出力
第2段階:
- TO URLを記事台帳と照合
- TO記事ID、TOタイトル、TOカテゴリを補完
第3段階:
- 被リンク数集計
- 発リンク数集計
- ピラーへのリンク数集計
- 無料DLページへのリンク数集計
- 孤立記事一覧作成
14. 最終目的
TECN全体の内部リンク構造を可視化し、以下の改善に活用する。
- TECNトップから各主カテゴリへの導線整理
- 在庫管理ピラーへの内部リンク強化
- SKU、バーコード、ピッキング、使用期限、棚番、在庫分析などのサブクラスター強化
- STOCKmini、STEPmini、アピスmini無料DLへの導線強化
- 2026年12月時点で月10〜30件の無料DL獲得を目指す
tecn内部リンク抽出 シート:カラム定義 確定版
| 列 | 項目名 | 内容 |
|---|---|---|
| A | 取得日時 | HTMLを取得した日時 |
| B | FROM記事ID | リンク元の記事ID |
| C | FROMタイトル | リンク元の記事タイトル |
| D | FROM URL | リンク元URL |
| E | FROMページパス | リンク元ページパス |
| F | FROM主カテゴリ | リンク元の主カテゴリ |
| G | FROM従カテゴリ | リンク元の従カテゴリ |
| H | FROM従カテゴリー2 | リンク元の従カテゴリー2 |
| I | FROM最新PV | リンク元記事の最新PV |
| J | 見出しレベル | H2 / H3 / 見出し外 |
| K | 見出しテキスト | リンクが出現した直前の見出し |
| L | TO URL | リンク先URL |
| M | TOページパス | リンク先ページパス |
| N | TO記事ID | 記事台帳と照合したリンク先記事ID |
| O | TOタイトル | 記事台帳と照合したリンク先タイトル |
| P | TO主カテゴリ | リンク先の主カテゴリ |
| Q | TO従カテゴリ | リンク先の従カテゴリ |
| R | TO従カテゴリー2 | リンク先の従カテゴリー2 |
| S | アンカーテキスト | リンクに表示されている文字 |
| T | リンク種別 | 本文リンク / ブログパーツ候補 / 関連記事候補 / メニュー候補 / 不明 |
| U | nofollow | relにnofollowがあるか |
| V | target | target属性 |
| W | HTTPステータス | FROM記事取得時のHTTPステータス |
| X | 備考 | 記事台帳未登録・除外候補・取得エラーなど |
同一記事内に同じTO URLが複数回出現した場合でも、
出現したリンクごとに1行ずつ記録する。
同じリンク先でも、
どの見出し配下にあるか
どんなアンカーテキストか
本文中か記事末尾か
によって意味が違うため。
スクリプトプロパティ TECN_LEDGER_URL ここにtecn記事台帳のURLを入れておきます。
TECN_LEDGER_URL
TECN_LEDGER_SHEET_ID
スクリプトプロパティ 記載から抽出方法
■ スクリプトプロパティ
TECN_LEDGER_URL
TECN記事台帳のURLまたは
スプレッドシートIDを設定する。
■ 初期設定
setupTecnLedgerSpreadsheetUrl()
を実行する。
URLからスプレッドシートIDを抽出し、
TECN_LEDGER_SHEET_ID
へ保存する。
以後の処理は
TECN_LEDGER_SHEET_ID
を利用する。
V0.2 変更仕様
15. V0.2 本文外リンク除外処理
15-1. 目的
V0.1では公開HTMLから内部リンクを取得するため、本文以外の以下の領域も内部リンクとして取得される。
- 筆者プロフィール
- 関連記事
- コメント欄
- 最近の投稿
- アーカイブ
これらはサイト共通パーツやWordPress標準機能によるリンクであり、クラスター設計や内部リンク戦略の分析ノイズとなる。
そのためV0.2では、V0.1で作成された「tecn内部リンク抽出」シートに対して後処理を実施し、本文分析に不要なリンク行を除外する。
15-2. 処理対象シート
対象シート
tecn内部リンク抽出
15-3. 判定列
対象列
K列(見出しテキスト)
15-4. 処理開始条件
K列に以下の文字列が出現した場合、
筆者プロフィール|DXジュン(Apice Technology 代表)
以降を本文外領域とみなす。
15-5. 削除対象
本文外領域において、K列が以下の文字列と一致する行を削除対象とする。
関連記事
コメントする コメントをキャンセル
最近の投稿
アーカイブ
15-6. アーカイブ到達後の処理
K列で
アーカイブ
を検出した時点で、その記事の本文外領域の解析は終了する。アーカイブは複数あるので、すべてを対応とします。
以降の行は分析対象外として扱い、次の
筆者プロフィール|DXジュン(Apice Technology 代表)
が出現するまで読み飛ばす。
セカンドパス V0.2: cleanupTecnInternalLinksV02()
記事末尾での、サイドメニュ周りのリンクを外します。
15-7. 実行タイミング
V0.1の内部リンク抽出完了後に実行する。
処理フロー
runExtractTecnInternalLinks()
↓
tecn内部リンク抽出 作成 V0.2 1回300件対応
↓
cleanupTecnInternalLinksV02()
↓
本文分析用データ完成
15-8. 削除方式
初期実装では対象行を物理削除する。
対象行はシート下部から順番に削除することで行番号ずれを防止する。
15-9. 期待効果
V0.1では以下が混在する。
本文リンク
ブログパーツ
関連記事
最近の投稿
アーカイブ
コメント関連リンク
V0.2実施後は主に
本文リンク
ブログパーツ
ピラーページリンク
無料DL導線
関連記事(本文内設置)
のみが残る。
これにより、
- クラスター設計分析
- 被リンク分析
- 発リンク分析
- STOCKmini導線分析
- アピスmini導線分析
の精度を向上させる。
機能強化 V0.3
個々の記事のURLもしくはタイトルを指定して記事を特定し、1記事の内部リンクをメンテナンスできる仕組みを作ります。 いったんの内部リンクシートが出来上がってきたら、それを1記事づつメンテナスができるようにします。
16. V0.3 1記事内部リンクメンテナンス機能
16-1. 目的
V0.2では全記事を対象に内部リンクを抽出し、サイト全体の内部リンク構造を分析できるようになった。
V0.3では、個々の記事を指定して内部リンクの状態を確認し、記事単位で内部リンクを改善できる仕組みを追加する。
主な目的は以下の通り。
- ピラー記事へのリンク不足を発見する
- クラスター記事へのリンク不足を発見する
- 無料DLページへの導線を確認する
- 記事単位で内部リンク設計を改善する
- WordPress修正後に再確認する
16-2. 対象シート
シート名
内部リンクWORK
を新設する。
16-3. URL指定方法
内部リンクWORKシートの
B2
に対象記事URLまたはページパスを入力する。
入力例
https://tecn.apice-tec.co.jp/sku-meaning/
または
/sku-meaning/
16-4. 実行関数
実行関数
runExtractOneArticleToWork()
を実行する。
指定されたURLの記事のみを抽出対象とする。
16-5. 出力位置
出力開始位置
A10
タイトル行
10行目
データ開始
11行目
16-6. 出力項目
V0.2の出力項目から
取得日時
FROM記事ID
を除外する。
出力項目は以下とする。
FROMタイトル
FROM URL
FROMページパス
FROM主カテゴリ
FROM従カテゴリ
FROM従カテゴリー2
FROM最新PV
見出しレベル
見出しテキスト
TO URL
TOページパス
TO記事ID
TOタイトル
TO主カテゴリ
TO従カテゴリ
TO従カテゴリー2
アンカーテキスト
リンク種別
nofollow
target
HTTPステータス
備考
16-7. 本文外リンクの扱い
以下は取得対象とする。
見出し外
H2
H3
筆者プロフィール
ただし以下は取得しない。
関連記事
コメントする コメントをキャンセル
最近の投稿
アーカイブ
16-8. ステータス表示
実行日時
G4
抽出件数
G5
へ出力する。
例
2026/06/06 12:30:00
抽出完了:37件
16-9. 想定運用
1. B2に記事URLを入力
2. runExtractOneArticleToWork() 実行
3. 内部リンクを確認
4. WordPressを修正
5. 再度実行
6. 改善状況を確認
16-10. V0.3の位置づけ
V0.2
全記事分析用
V0.3
1記事改善用
とする。
V0.3は内部リンクの保守・改善・クラスター強化を目的としたメンテナンス機能である。


```



コメント