完璧なクローンのためのベストプラクティス
最高品質のクローン結果を得るためのヒントと戦略
クローンが難しいウェブページがあるのはなぜですか?
モダンなウェブアプリケーション(SPA)は、コンテンツをレンダリングするために JavaScript に大きく依存しています。これは、ページが最初に読み込まれる時点では HTML が空であることが多く、コンテンツが動的に取得されることを意味します。さらに、多くのウェブページではアンチクローラーの仕組み、複雑な CSS 変数システム、Shadow DOM が使用されています。
100% ピクセルパーフェクトなクローン結果を得るために、以下のベストプラクティスに従ってください。
クローン前の準備
1. コンテンツが完全に読み込まれていることを確認
レイジーロード(Lazy Loading) は、クローンが不完全になる最大の原因です。多くの画像、長いリスト、ページ下部のコンテンツは、その位置までスクロールしたときにのみ読み込まれます。
正しいアプローチ:
- ページの上部から下部へゆっくりスクロールし、すべての画像プレースホルダーが実際の画像に置き換わることを確認します。
- 「もっと読み込む」ボタンをクリックし、キャプチャしたいすべてのコンテンツを展開します。
- すべてのフォントファイルの読み込みが完了するまで待ちます(テキストがデフォルトフォントで表示されるのを防ぐため)。
2. 特定の UI 状態をトリガーする
特定のインタラクティブな状態をキャプチャしたい場合:
- ドロップダウンを展開する
- モーダル / ダイアログを開く
- 特定のタブに切り替える
- Hover 状態をトリガーする(Chrome DevTools を使って要素の
:hover状態を強制できます)
これらの状態がアクティブな間に、拡張機能の「クローン開始」ボタンをクリックします。
3. マルチメディアコンテンツの処理
- 動画:デフォルトでは、拡張機能は
<video>タグとそのsrc属性を保持しようとしますが、巨大な動画ファイルはダウンロードしません。動画にはposter(カバー画像)属性を持たせ、オフライン時にプレースホルダーが表示されるようにしてください。 - Canvas / WebGL:このように動的にレンダリングされる要素は、従来の DOM シリアライゼーションではキャプチャできません。拡張機能は自動的に Canvas を静的な Base64 画像に変換しようとしますが、複雑な WebGL シーンは完璧に復元されない場合があります。
- Iframe:クロスオリジンの Iframe(例:埋め込まれた YouTube 動画、サードパーティのコメントシステム)は、セキュリティ上の理由から深くクローンすることはできません。これらは元の
srcリンクを保持します。
高度な設定のヒント
拡張機能の設定パネルには、クローン品質に影響を与えるいくつかの主要なオプションがあります:
スクリプトの削除 vs スクリプトの保持
- 「すべての JS を削除」を選択(表示専用に推奨):完全に静的なページを生成します。利点はファイルサイズが小さく、絶対的に安全で、ポップアップ広告やトラッキングコードが実行されないことです。欠点は、カルーセルやアコーディオンなどのインタラクティブ機能が動作しないことです。
- 「コアインタラクションを保持」を選択(ベータ機能):拡張機能は UI を制御するスクリプトを保持しつつ、分析スクリプト(GA など)をフィルタリングしようとします。注意:JS を保持したまま複雑な SPA ページをローカルで開くと、バックエンド API が見つからず白い画面が表示される場合があります。
リソースパスの変換
「絶対パスを相対パスに変換」 オプションが有効になっていることを確認してください。これにより、生成された ZIP パッケージは、パスの問題でスタイルが失われることなく、ローカルハードドライブで直接(file:// プロトコル経由で)開くことができます。
極端なケースの処理
Shadow DOM を含むページ
一部のモダンなコンポーネントライブラリは Shadow DOM を使用しており、デフォルトでは内部構造が見えません。
解決策:CloneWebsite コアエンジンには実験的な shadow-dom-flattener が含まれており、すべての shadow root を走査してコンテンツとスタイルをメインの DOM ツリーに抽出しようとします。コンポーネントが欠けている場合は、設定で「Shadow DOM を強制的にフラット化」を有効にしてください。
CSP(Content Security Policy)によるブロック
非常に厳格なウェブサイト(銀行、大企業のイントラネットなど)では、コンソールに次のようなエラーが表示されることがあります:
Refused to execute inline script because it violates the following Content Security Policy directive...
解決策: 現在、これはブラウザの厳しいセキュリティ制限です。Chrome ストアで「Disable CSP」の補助プラグインを検索して、クローン中にターゲットウェブサイトの CSP を一時的に無効にしてみてください。
最終チェックリスト
- ページの最後までスクロールしましたか? ✅
- モーダルとメニューは展開しましたか? ✅
- 拡張機能の設定はニーズに合っていますか? ✅
- クローンをクリックして完了を待ちましょう! 🚀
CloneWebsite ドキュメント