見出し画像

【ZOZOTOWN】SEO担当者が注力する「テスト」と、自作のツールで工数削減を実現した話

ZOZOTOWNサービスグロース部 SEOブロックの大久保です。

SEOやデータ解析によりZOZOTOWNやWEARといったサービスを成長させることをミッションとするチームで、ZOZOTOWNのSEOを担当しています。

2021年1月に公開した記事では「SEO担当者が『カテゴリー』を見直したお話」というタイトルで、SEO担当者視点でカテゴリーを見直す理由やリリースまでの流れ、テストについてご紹介しました。

今回は、ZOZOTOWN上の「カテゴリー」を見直す上でも大事な作業の1つ、「テスト」について、どういった観点で行っているのか、どのようにテストしているかなど少し掘り下げていきたいと思います。

■SEO担当のZOZOTOWN改修における作業

まずZOZOTOWNのSEO担当がどんな流れで改修に携わり、作業をしていくかテストまでの流れを説明したいと思います。
業務は、大きく3つの段階にわかれています。

  1. 要件定義

  2. エンジニアへの改修依頼

  3. テスト準備~テスト

1.要件定義

ZOZOTOWNでは、機能開発やUI/UXの改修が不定期に発生します。SEO担当者は内容を確認し、必要に応じてSEOへの影響を洗い出します。URL、meta要素、リダイレクトなどに影響がないか調査し要件を資料にまとめます。この作業を要件定義と呼びます。

例えば、サイトに新しいページが追加される場合であれば、URLを決めるところから始めます。ページのパターンが多いとその数に応じたURLやmeta要素を用意するため、作業時間もかかってきます。

大変な作業ではありますが、ここでまとめた要件定義の内容はそのままエンジニアへの依頼として伝えることになるので、齟齬や手戻りなどなく開発作業がスムーズに進むように意識してまとめていきます!

2.エンジニアへの改修依頼

要件定義で洗い出した内容を詳細にエンジニアへ説明し、対応可否やスケジュールなどを相談し詰めていきます。

SEO目線で考えると対応すべき内容でも、仕組み上対応が難しかったり、一度の改修では対応できないこともあったりして悩ましいこともありますが、エンジニアに相談しつつ改修の要件を調整していきます。

SEO以外の開発で忙しいにもかかわらず、可能な限り私たちの要望を的確にくみ取り、SEO要件を盛り込んでくれるエンジニアには、いつも感謝しかありません!

この後に続くテストでサイトの安定稼働を維持できるよう気合いを入れてテスト準備に進みます。

3.テスト準備~テスト

エンジニアに依頼したSEO要件が実装された場合を想定し、テストに向けて「【ZOZOTOWN】SEO担当者が「カテゴリー」を見直したお話」に記載している「①リダイレクト」、「②meta要素」、「③ページ内テキスト要素」などテスト項目の準備をしていきます。

テスト設計、テスト用URLを用意、スクレイピングツールのメンテナンス…といったテスト前の準備を行い、テストスタートです!

■特に力を入れている「テスト準備~テスト」

3つの段階の中で特に長い時間を費やして注力しているのが「3.テスト準備~テスト」です。
テストを重視する理由は2つ。

  1. お客様に不安なくスムーズにZOZOTOWNでのお買い物を楽しんでいただくため

  2. 意図しない挙動やバグが、SEOに大きく影響するという危機感を持っているため

SEOは小さなことの積み重ね、チリツモな部分が多いと私たちは考えています。

小さなバグでも複数起こることで、SEOにおける評価や掲載順位が悪くなり、露出の機会が減少してしまいます。そういったマイナス影響を未然に防ぐため、テスト期間をしっかり設け、開発環境を含め2度、3度繰り返しテストを行います。

私たちにとってテストは、お客様が不安を抱くことなくお買い物を楽しんでいただく環境を作るために欠かせない、肝となるプロセスなのです。

ここからは具体的に、テスト開始までの作業・テスト内容・課題感を持っていたことなどをお話しします。

■「テスト」に向けて

最初に、どんなテストをするか設計し、実際にテスト時にアクセスするページのURLやmeta要素などを取得するための「テストURL」を作っていきます。

改修の規模や他の業務との兼ね合いもありますが、数日から大規模な改修では1ヶ月ほどかけてじっくりと作戦を練っていきます。

・テスト対象となるディレクトリの洗い出し

改修の影響が出るディレクトリを洗い出します。
ZOZOTOWNの場合は、商品を検索した結果が表示される検索結果ページや、商品について詳しく見ることができる商品詳細ページ、ZOZOTOWNで販売しているアイテムを使ったコーディネートを見ることができるコーディネートページなどが、影響の出るディレクトリとして挙げられます。

ディレクトリによってテストURLのパターンが変わってくるので、ディレクトリの洗い出しは大切です!

検索結果ページ


コーディネートページ


・テスト項目

改修内容によって設定すべきテスト項目が変わってくるので、案件ごとに毎回チーム内で検討します。改修内容がページ削除やページ統合の場合は「リダイレクト先のぺージが正しいか」、「ステータスコードが意図した通りか」などをテスト項目に設定していきます。

また、改修内容が新しいページのリリースの場合は、「URLに不要なパラメータが入っていないか」、「meta要素は意図した内容になっているか」など、エンジニアに依頼した内容が反映されているかをテスト項目として主に確認することになります。

・テストURL作成

より多くのページが問題ないかを確かめるためにテストURLを作っていきます。テスト対象となるディレクトリでのURLパターンを洗い出し、掛け合わせのパターンなども含め複数のテストURLを手動で用意します。

この作業が一番苦労するところで、最も時間を費やす作業といっても過言ではありません!

大変ではありますが、この作業を丁寧に行うことで後々の作業がグッと楽になっていくこともあり、毎回かなり集中して取り組んでいます。

テスト対象となるディレクトリでのURLパターンを洗い出して、テストURLをリストアップする


■「テスト」での長年の課題

テストに向けた作業では、とにかくテストURL作成の作業負荷が大きく、毎回課題感を持っていました。

この他にも以前から使っていたテストURLのスクレイピングツールの使い勝手が悪く、テスト作業を全体的に見直す必要があると思っていました。

課題を感じていたことは大きく2つ。

課題1.スクレイピングツールの使い勝手が悪く、エラーが多発し作業がスムーズに進まない。
課題2.テストURLを手動で作成していたことで時間がかかりミス多発、作業が属人化。

この2つを改善することで劇的にテスト作業が効率化し、状況が改善していくことは明らかだったので、まずは課題1「スクレイピングツール」の解決に向けて動き出しました。

課題1の解決のため一念発起し、新たにスクレイピングツールを一から開発することに決めました。
ただし、一度開発したとしてもそのスクレイピングツールを汎用的に使うことはできず、テストごとに適切な状態に調整していく必要があるとわかっていました。そのため、より細かな調整ができる自社独自のツールを開発することが最善策だったのです。

開発言語は、部署メンバーの勧めもあり、非エンジニアの私でも挑戦しやすいPythonを選択しました。Pythonでのスクレイピングツール開発は参考にできる個人ブログなどの記事も多く、ネットで調べながら進めることができました。ただ、私が実現したいことを全て実現している事例は少なく、複数の記事を参考に、コードを自分仕様にしていく慣れない作業がとても大変でした。

コードを少し書いては試して、調整してを繰り返し、新スクレイピングツールが完成。スクレイピングしたい情報を全てスクレイピングできた時の感動は今も忘れません(笑)!
今では大きな改修のテストだけでなく、他の業務にも使いまわせたりと、スクレイピング作業には欠かせない存在となっています!

課題2の「テストURLの作成」についても、Pythonを用いたテストURL作成の自動化を目指して、現在開発に着手しています。
より多くの人が簡単に操作できるツールにするため引き続きチューニングしていきます!

■今後の目標

今まではツールの使い勝手が悪いために、テスト範囲を限定せざるを得ないことが多々ありましたが、今回開発した新スクレイピングツールにより作業負荷が大きく軽減され、他の作業に充てられる時間が増えました。以前と比較して、特にエラー数が減少するなど、今まで要していた作業時間が半分以下になった感覚です!(やってよかった!!)

テスト結果を今までよりも早く抽出、確認することができるようになったことで、その後のバグ修正も迅速に対応できるようになりました。リリースまでの時間短縮にもつながっていると思います。

テストは地道な作業ではあるものの、サイトの質を担保し向上させることにつながり、ユーザーの満足度を上げる重要な要素だと思っています。

これからもテスト関連の作業をどんどん効率化し、安定したサービス運営に貢献することでZOZOTOWNを訪れてくださるお客様を増やし、すべてのお客様が快適にお買い物を楽しんでいただけたら嬉しいです!

最後に…

ZOZOでは、ZOZOTOWNのSEOを一緒に推進していただける方、SEOスペシャリストを募集しています!気になる方はぜひ採用ページをご覧ください!


ZOZOでは、エンジニア・デザイナーを含む各職種で採用を行っています! 採用情報はTwitterでもお知らせしているのでぜひチェックしてください!