Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # frozen_string_literal: true
- # URLS in css files are relative to the wordpress path. We need to redirect them to the correct path.
- # Redirect requests from /{lang}/app/themes/apptweak-theme/* to /assets/*
- get("/app/themes/apptweak-theme/*") { redirect "/assets/" + params[:splat].first, 301 }
- get("/app/plugins/*") { redirect "/assets/" + params[:splat].first, 301 }
- ################################
- # legacy url redirections
- ################################
- get("/aso-experts/:slug") { redirect "/aso-experts", 301 }
- get("/aso-experts") { redirect "/#{I18n.locale}/aso-mobile-growth-consulting-services", 301 }
- get("/free-tools/top-bidding-apps") { redirect "/", 301 }
- get("/free-tools/hints") { redirect "/#{I18n.locale}/free-tools", 301 }
- get("/aso-tools/app-analytics") { redirect "/#{I18n.locale}/aso-tools/app-store-analytics", 301 }
- # Redirects former "free-aso-tools" routes to new "free-tools" routes
- get("/free-tools/top-charts") { redirect "/#{I18n.locale}/free-tools/app-store-top-charts", 301 }
- get("/free-aso-tools") { redirect "/#{I18n.locale}/free-tools", 301 }
- get("/free-aso-tools/:slug") { redirect "/#{I18n.locale}/free-tools/#{params[:slug]}", 301 }
- # We used to have job offers pages on apptweak but we moved them to recruitee
- # which is served on jobs.apptweak.com
- get("/jobs") { redirect "https://jobs.apptweak.com/", 301 }
- get("/jobs/:slug") { redirect "https://jobs.apptweak.com/", 301 }
- # Mobile App News redirections
- %w(
- /mobile-app-news/feed
- /mobile-app-news/feed.xml
- /mobile-app-news/atom).each do |blog_slug|
- get(blog_slug) { redirect "/en/mobile-app-news/atom.xml", 301 }
- end
- %w(
- /aso-blog/top-5-2018-mobile-games-that-have-already-reached-10m-downloads
- /mobile-app-news/most-popular-apps-games
- /aso-blog/most-popular-apps-games
- ).each do |blog_slug|
- get("#{blog_slug}") { redirect "/en/mobile-app-news/most-popular-new-game-launches", 301 }
- end
- get("/mobile-app-news/category/*") { redirect "/en/mobile-app-news", 301 }
- get ("/amp/mobile-app-news/:slug") { redirect "/en/mobile-app-news/#{params[:slug]}", 302 }
- # search top charts
- # We used to offer url-based top charts but this feature was deprecated in favor
- # of the free top chart aso tool. So we perform a redirect for those URLs
- get("/app-ranking-charts-top-400/:country/ios/:category") { redirect "/#{I18n.locale}/free-tools/app-store-top-charts", 301 }
- get("/app-ranking-charts-top-400/:country/ios/ipad/:category") { redirect "/#{I18n.locale}/free-tools/app-store-top-charts", 301 }
- get("/ranking-charts-top-400/:country/google-play-store/:category") { redirect "/#{I18n.locale}/free-tools/app-store-top-charts", 301 }
- # ------------------------------------------------------------
- # Ad Intelligence
- get("/ad-intelligence") { redirect "/#{I18n.locale}/aso-tools/ad-intelligence", 301 }
- get("/aso-resources/japan-mobile-game-market-2021") { redirect "/#{I18n.locale}/aso-resources/japan-mobile-game-market-2022", 301 }
- # "Aso intel" becomes "Aso tools" (December 2022)
- get("/aso-intelligence") { redirect "/#{I18n.locale}/aso-tools", 301 }
- get("/aso-intelligence/keyword-research-suggestions") { redirect "/#{I18n.locale}/aso-tools/keyword-research-suggestions", 301 }
- get("/aso-intelligence/keyword-tracking-monitoring") { redirect "/#{I18n.locale}/aso-tools/keyword-tracking-monitoring", 301 }
- get("/aso-intelligence/app-competition-monitoring") { redirect "/#{I18n.locale}/aso-tools/app-competition-monitoring", 301 }
- get("/aso-intelligence/ratings-reviews") { redirect "/#{I18n.locale}/aso-tools/app-store-ratings-reviews", 301 }
- get("/aso-tools/ratings-reviews") { redirect "/#{I18n.locale}/aso-tools/app-store-ratings-reviews", 301 }
- get("/aso-intelligence/app-analytics") { redirect "/#{I18n.locale}/aso-tools/app-store-analytics", 301 }
- get("/aso-intelligence/aso-keyword-master") { redirect "/#{I18n.locale}/aso-tools/aso-keyword-master", 301 }
- get("/aso-intelligence/featured-apps") { redirect "/#{I18n.locale}/aso-tools/featured-apps", 301 }
- get("/aso-intelligence/similar-apps") { redirect "/#{I18n.locale}/aso-tools/similar-apps", 301 }
- get("/aso-intelligence/installs-per-keyword") { redirect "/#{I18n.locale}/aso-tools/keyword-research-suggestions", 301 }
- get("/aso-tools/installs-per-keyword") { redirect "/#{I18n.locale}/aso-tools/keyword-research-suggestions", 301 }
- get("/aso-intelligence/app-category-ranking") { redirect "/#{I18n.locale}/aso-tools/app-store-analytics", 301 }
- get("/aso-intelligence/aso-timeline-history") { redirect "/#{I18n.locale}/aso-tools/aso-timeline-history", 301 }
- get("/aso-intelligence/download-and-revenue-estimates") { redirect "/#{I18n.locale}/aso-tools/download-and-revenue-estimates", 301 }
- get("/aso-tools/all-ranked-keywords-performance") { redirect "/#{I18n.locale}/aso-tools/aso-keyword-master", 301 }
- get("/all-features") { redirect "/#{I18n.locale}/pricing", 301 }
- get("/about") { redirect "/#{I18n.locale}/about/who-we-are", 301 }
- get("/who-we-are") { redirect "/#{I18n.locale}/about/who-we-are", 301 }
- get("/partners") { redirect "/#{I18n.locale}/about/partners", 301 }
- get("/about/our-story") { redirect "/#{I18n.locale}/", 301 }
- get("/review-management") { redirect "/#{I18n.locale}/app-store-reviews", 301 }
- get("/aso-tools/app-store-ratings-reviews") { redirect "/#{I18n.locale}/app-store-reviews", 301 }
- get("/case-studies/moburst") { redirect "/en/case-studies/moburst-shopkick", 301 }
- # get("/case-studies/coincheck") { redirect "/en/case-studies", 301 }
- get("/site-plan") { redirect "/#{I18n.locale}/sitemap", 301 }
- get("/aso-intelligence/top-charts") { redirect "/#{I18n.locale}/market-intelligence/top-charts", 301 }
- get("/aso-intelligence/keyword-research") { redirect "/#{I18n.locale}/aso-tools/keyword-research-suggestions", 301 }
- get("/features/aso/app-store-optimization-report") { redirect "/#{I18n.locale}/aso-tools/aso-keyword-master", 301 }
- get("/features/mobile-app-marketing") { redirect "/#{I18n.locale}/aso-tools", 301 }
- get("/features/reviews-and-ratings") { redirect "/#{I18n.locale}/aso-tools/ratings-reviews", 301 }
- get("/features/mobile-app-analytics") { redirect "/#{I18n.locale}/aso-tools/app-store-analytics", 301 }
- get("/features/aso-report") { redirect "/#{I18n.locale}/aso-tools/aso-keyword-master", 301 }
- get("/aso-intelligence/aso-keyword-report") { redirect "/#{I18n.locale}/aso-tools/aso-keyword-master", 301 }
- get("/features/aso-intelligence/aso-keyword-report") { redirect "/#{I18n.locale}/aso-tools/aso-keyword-master", 301 }
- get("/search-ads-intelligence") { redirect "/#{I18n.locale}/ad-intelligence", 301 }
- get("/features/keyword-tool/ad-intelligence") { redirect "/#{I18n.locale}/ad-intelligence", 301 }
- get("/features/keyword-tool/monitoring") { redirect "/#{I18n.locale}/aso-tools/keyword-tracking-monitoring", 301 }
- get("/features/keyword-tool/picking") { redirect "/#{I18n.locale}/aso-tools/keyword-research-suggestions", 301 }
- get("/features/keyword-tool/analysis") { redirect "/#{I18n.locale}/aso-tools/keyword-tracking-monitoring", 301 }
- get("/about/client-testimonials") { redirect "/#{I18n.locale}/case-studies", 301 }
- get("/customer-testimonials") { redirect "/#{I18n.locale}/case-studies", 301 }
- get("/features") { redirect "/#{I18n.locale}/pricing", 301 }
- get("/features/aso") { redirect "/#{I18n.locale}/aso-tools", 301 }
- get("/features/aso/app-store-optimization-report") { redirect "/#{I18n.locale}/aso-tools/aso-reporting", 301 }
- get("/features/aso/category-ranking") { redirect "/#{I18n.locale}/aso-tools/app-category-ranking", 301 }
- get("/features/aso/keyword-data") { redirect "/#{I18n.locale}/aso-tools/keyword-research-suggestions", 301 }
- get("/features/aso/keyword-monitoring") { redirect "/#{I18n.locale}/aso-tools/keyword-tracking-monitoring", 301 }
- get("/features/aso/keyword-research") { redirect "/#{I18n.locale}/aso-tools/keyword-research-suggestions", 301 }
- get("/features/aso/reviews-and-ratings") { redirect "/#{I18n.locale}/aso-tools/ratings-reviews", 301 }
- get("/features/business-intelligence") { redirect "/#{I18n.locale}/aso-tools/app-store-analytics", 301 }
- get("/features/business-intelligence/api") { redirect "/#{I18n.locale}/aso-tools/app-store-analytics", 301 }
- get("/features/business-intelligence/google-play-store-install-keywords") { redirect "/#{I18n.locale}/aso-tools/app-store-analytics", 301 }
- get("/features/business-intelligence/integrations") { redirect "/#{I18n.locale}/aso-tools/app-store-analytics", 301 }
- get("/features/market-intelligence") { redirect "/#{I18n.locale}/market-intelligence", 301 }
- get("/features/market-intelligence/download-and-revenue-estimates") { redirect "/#{I18n.locale}/aso-tools/download-and-revenue-estimates", 301 }
- get("/features/market-intelligence/market-share") { redirect "/#{I18n.locale}/market-intelligence/market-share", 301 }
- get("/features/market-intelligence/top-charts") { redirect "/#{I18n.locale}market-intelligence/top-charts", 301 }
- get("/features/search-ads-intelligence") { redirect "/#{I18n.locale}/search-ads-intelligence", 301 }
- get("/features/search-ads-intelligence/organic-keywords-protection") { redirect "/#{I18n.locale}/search-ads-intelligence", 301 }
- get("/features/search-ads-intelligence/paid-keywords") { redirect "/#{I18n.locale}/search-ads-intelligence", 301 }
- get("/features/search-ads-intelligence/share-of-voice-history") { redirect "/#{I18n.locale}/search-ads-intelligence", 301 }
- get("/about/why-choose-us") { redirect "/#{I18n.locale}/why-apptweak", 301 }
- get("/aso-resources/aso-webinars") { redirect "/#{I18n.locale}/aso-resources/webinars", 301 }
- get("/aso-resources/aso-vs-seo") { redirect "/en/aso-blog/aso-vs-seo-why-how-they-are-different", 301 }
- get("/aso-resources/what-is-aso") { redirect "/en/aso-resources/guides/aso-beginners-guide", 301 }
- # Landings Pages Ads
- get("/app-store-optimization-tool") { redirect "/#{I18n.locale}/", 301 }
- get("/app-store-keyword-research-tool") { redirect "/#{I18n.locale}/", 301 }
- get("/monitor-app-rankings-and-visibility") { redirect "/#{I18n.locale}/", 301 }
- get("/get-more-app-downloads") { redirect "/#{I18n.locale}/", 301 }
- get("/optimize-your-app-listing-page") { redirect "/#{I18n.locale}/", 301 }
- get("/aso-reporting-tool") { redirect "/#{I18n.locale}/", 301 }
- get("/monitor-app-competitors") { redirect "/#{I18n.locale}/", 301 }
- get("/app-market-intelligence") { redirect "/#{I18n.locale}/", 301 }
- get("/aso-for-mobile-games") { redirect "/#{I18n.locale}/", 301 }
- get("/apptweak-new-features") { redirect "/#{I18n.locale}/", 301 }
- get("/aso-game-studios") { redirect "/#{I18n.locale}/", 301 }
- # get '/slack-aso-report' do
- # redirect '/#{I18n.locale}/', 301
- # end
- get ("/aso-university") { redirect "/#{I18n.locale}/aso-blog", 301 }
- # Legals
- get ("/privacy") { redirect "/#{I18n.locale}/legal/privacy-policy", 301 }
- get ("/legal") { redirect "/#{I18n.locale}/legal/privacy-policy", 301 }
- get ("/terms") { redirect "/#{I18n.locale}/legal/terms-of-services", 301 }
- # Culture
- get ("/culture") { redirect "/#{I18n.locale}/who-we-are", 301 }
- get("/about/our-culture") { redirect "/#{I18n.locale}/who-we-are", 301 }
- get ("/culture/the-team/:slug") { redirect "/#{I18n.locale}/about/our-team", 301 }
- # ASO Resources / Guides
- get ("/aso-resources/guides") { redirect "/#{I18n.locale}/aso-resources", 301 }
- #
- # BLOG REDIRECTIONS
- #
- get("/aso-blog/infographic-number-of-downloads-to-reach-top-rankings") { redirect "/en/aso-blog/number-of-downloads-to-reach-top-rankings", 301 }
- get("/aso-blog/5-steps-to-boost-app-downloads-with-localization") { redirect "/en/aso-blog/boost-app-downloads-with-localization-step-by-step-guide", 301 }
- get("/aso-blog/9-tips-to-optimize-your-app-screenshots") { redirect "/#{I18n.locale}/aso-blog/9-tips-to-optimize-your-app-screenshots-2", 301 }
- get("/aso-blog/the-most-popular-app-store-keywords-of-2019") { redirect "/en/aso-blog/the-most-popular-app-store-keywords", 301 }
- get("/aso-blog/introducting-download-and-revenue-estimates") { redirect "/en/aso-blog/introducing-worldwide-ios-download-and-revenue-estimates", 301 }
- get("/aso-blog/discover-our-worldwide-google-play-daily-download-estimates") { redirect "/en/aso-blog/introducing-worldwide-ios-download-and-revenue-estimates", 301 }
- get("/aso-blog/6-effective-aso-hacks-for-google-play-apps") { redirect "/en/aso-blog/5-aso-trends-for-2020-you-need-to-know-about", 301 }
- get("/aso-blog/games-sub-categories-now-in-app-icon-color-analysis-and-category-keywords") { redirect "/en/aso-blog/compare-your-app-metadata-to-category-benchmark-aso-trends", 301 }
- get("/aso-blog/how-did-black-friday-affect-top-shopping-apps-in-2019") { redirect "/en/aso-blog/impact-of-black-friday-on-shopping-apps", 301 }
- get("/aso-blog/how-featured-apps-boost-category-rankings-downloads") { redirect "/en/aso-blog/case-study-impact-of-featuring-on-app-installs-rankings-reviews", 301 }
- get("/aso-blog/monthly-downloads-per-keyword-now-in-new-markets") { redirect "/en/aso-blog/discover-the-number-of-app-installs-per-keyword", 301 }
- get("/aso-blog/new-advanced-analytics-features-now-live") { redirect "/en/aso-blog/analytics-2.0-a-new-way-to-monitor-app-performance", 301 }
- get("/aso-blog/analytics-2.0-a-new-way-to-monitor-app-performance") { redirect "/en/aso-blog/analytics-2-0-a-new-way-to-monitor-app-performance", 301 }
- get("/aso-blog/new-app-store-ios-11-why-aso-is-more-important-than-ever") { redirect "/en/aso-blog/ios-15-reveal-what-s-about-to-change-for-aso", 301 }
- get("/aso-blog/how-search-ads-can-boost-your-apps-organic-keyword-rankings-2") { redirect "/aso-blog/how-search-ads-can-boost-your-apps-organic-keyword-rankings", 301 }
- get("/aso-blog/A-simple-guide-to-your-ASO-first-steps") { redirect "/en/aso-blog/a-simple-guide-to-your-aso-first-steps", 301 }
- get("/aso-blog/Discover-the-most-used-keywords-per-app-category") { redirect "/en/aso-blog/discover-the-most-used-keywords-per-app-category", 301 }
- get("/aso-blog/How-to-build-your-Search-Ads-strategy-in-new-ASA-markets") { redirect "/en/aso-blog/how-to-build-your-search-ads-strategy-in-new-asa-markets", 301 }
- get("/aso-resources/aso-checklist-app-store") { redirect "/aso-resources/apple-app-store-aso-checklist", 301 }
- get("/aso-resources/aso-checklist-google-play-store") { redirect "/aso-resources/google-play-store-aso-checklist", 301 }
- get("/aso-blog/how-to-optimize-your-apps-long-description") { redirect "/en/aso-blog/app-store-description-best-practices", 301 }
- %w(
- /aso-blog/new-app-store-ios-11-why-aso-is-more-important-than-ever
- /aso-blog/apple-s-ios-15-reveal-what-will-change-for-aso
- ).each do |blog_slug|
- get "#{blog_slug}" do
- redirect "/#{I18n.locale}/aso-blog/ios-15-reveal-what-s-about-to-change-for-aso", 301
- end
- end
- %w(
- /aso-blog/apple-search-popularity-for-new-asa-markets-now-available-on-apptweak
- /aso-blog/apptweak-adds-apple-search-popularity-for-uk-aus-and-nzl
- ).each do |blog_slug|
- get "#{blog_slug}" do
- redirect "/en/aso-blog/apple-exact-search-volume-now-on-apptweak", 301
- end
- end
- %w(
- /aso-blog/the-ultimate-app-store-optimization-aso-cheat-sheet
- /aso-blog/aso-the-ultimate-guide-to-boosting-your-app
- /aso-blog/5-free-ways-to-boost-your-app-downloads
- /aso-blog/9-quick-app-store-optimization-tips
- /aso-blog/app-store-optimization-aso-app-name-and-keywords
- /aso-blog/app-store-optimization-extreme-newbies
- /aso-blog/4-tips-to-optimize-your-seo-app-strategy
- /aso-blog/app-keywords-4-facts-need-know-increase-exposure
- /aso-blog/app-store-optimization-tips-interview-with-olivier-verdin-apptweak-co-founder
- /aso-blog/aso-is-the-new-seo
- /aso-blog/app-title-4-effective-hacks-to-improve-your-app-store-visibility
- /aso-blog/how-aso-can-help-you-get-cheaper-app-installs
- /aso-blog/how-to-optimize-your-app-description-to-improve-discoverability
- /aso-blog/beginners-guide-to-app-store-optimization
- ).each do |blog_slug|
- get "#{blog_slug}" do
- redirect "/#{I18n.locale}/aso-resources/guides/aso-beginners-guide", 301
- end
- end
- get("/aso-blog/increase-your-app-downloads-with-localization") { redirect "/en/aso-blog/boost-app-downloads-with-localization-step-by-step-guide", 301 }
- get("/aso-blog/apptweak-adds-apple-search-popularity-for-canada-mexico-and-switzerland") { redirect "/en/aso-blog/apple-search-popularity-for-new-asa-markets-now-available-on-apptweak", 301 }
- get("/aso-blog/aso-monitor-measure-track-repeat") { redirect "/en/aso-blog/why-how-to-monitor-competition-in-the-app-store-aso-blog", 301 }
- %w(
- /aso-blog/5-tools-to-manage-your-users-reviews-and-ratings
- /aso-blog/how-to-reply-to-user-reviews-in-the-app-store
- /aso-blog/4-ways-to-benefit-from-negative-reviews
- /aso-blog/the-ultimate-app-store-reviews-and-ratings-guide
- ).each do |blog_slug|
- get "#{blog_slug}" do
- redirect "/#{I18n.locale}/aso-blog/use-app-review-sentiment-analysis-to-make-product-decisions", 301
- end
- end
- get("/aso-blog/introducing-apptweak-aso-webinar-series") { redirect "/aso-resources/webinars", 301 }
- get("/aso-blog/norwegian-and-finnish-keywords-now-available") { redirect "/en/aso-blog/apple-search-popularity-for-new-asa-markets-now-available-on-apptweak", 301 }
- get("/aso-blog/welcome-apptweak-aso-university") { redirect "/aso-resources/webinars", 301 }
- get("/aso-blog/apple-ad-what-impact-on-app-store-optimization") { redirect "/en/aso-blog/how-ad-can-boost-your-apps-organic-keyword-rankings", 301 }
- get("/aso-blog/danish-and-swedish-keywords-now-available") { redirect "/en/aso-blog/apple-search-popularity-for-new-asa-markets-now-available-on-apptweak", 301 }
- get("/aso-blog/polish-and-indonesian-keywords-now-available") { redirect "/en/aso-blog/apple-search-popularity-for-new-asa-markets-now-available-on-apptweak", 301 }
- get("/aso-blog/say-hi-to-our-google-play-keyword-tool-in-english-french-spanish-and-german") { redirect "/en/aso-blog/apple-search-popularity-for-new-asa-markets-now-available-on-apptweak", 301 }
- get("/aso-blog/5-ab-testing-tools-to-optimize-your-app-marketing-strategy") { redirect "/en/aso-blog/ultimate-guide-to-screenshots-a-slash-b-testing", 301 }
- get("/aso-blog/ciao-a-tutti-italian-now-supported-by-our-keyword-tool") { redirect "/en/aso-blog/apple-search-popularity-for-new-asa-markets-now-available-on-apptweak", 301 }
- get("/aso-blog/the-most-searched-app-store-keywords-of-2019") { redirect "/en/aso-blog/the-most-searched-app-store-keywords", 301 }
- get("/aso-blog/surfing-the-emoji-how-emojis-can-boost-user-acquisition-and-retention") { redirect "/en/aso-blog/how-to-prepare-for-new-google-metadata-policy-changes", 301 }
- get("/aso-blog/5-tips-leverage-appmarketing-strategy-xmas") { redirect "/en/aso-blog/app-seasonality-trends-for-holiday-season", 301 }
- %w(
- /aso-blog/apple-changes-the-appstore-algorithm-everything-you-need-to-know
- /aso-blog/new-free-aso-tool-app-store-play-store-algorithm-change-detector
- ).each do |blog_slug|
- get "#{blog_slug}" do
- redirect "/en/aso-blog/the-latest-app-store-algorithm-updates-uncovered", 301
- end
- end
- get("/aso-blog/discover-most-used-keywords-per-app-category-2019") { redirect "/en/aso-blog/Discover-the-most-used-keywords-per-app-category", 301 }
- get("/aso-blog/google-play-announcements-aso-2.0-is-here") { redirect "/en/aso-blog/google-play-announcements-aso-2-0-is-here", 301 }
- get("/aso-blog/aso-experts-directory") { redirect "/#{I18n.locale}/aso-experts", 301 }
- get("/aso-blog/aso-client-testimonial-*") { redirect "/#{I18n.locale}/customer-testimonials", 301 }
- get("/aso-blog/holiday-season-huge-downloads-spikes-expected") { redirect "/en/aso-blog/app-seasonality-trends-for-holiday-season", 301 }
- get("/aso-blog/5-tips-to-optimize-your-ios-app-name") { redirect "/en/aso-blog/optimizing-your-app-title-keywords-vs-brand-name", 301 }
- get("/aso-blog/branded-vs-non-branded-keyword-analysis-on-apptweak") { redirect "/en/aso-blog/brand-vs-generic-breakdown-in-app-store-search", 301 }
- get("/aso-blog/the-power-of-app-reviews") { redirect "/en/aso-blog/reviews-ratings-understand-improve-app-user-opinions", 301 }
- get("/app-intelligence") { redirect "/#{I18n.locale}/market-intelligence", 301 }
- get ("/aso-resources/ios-15-conversion-optimization-content-hub") { redirect "/aso-resources", 301 }
- get ("/aso-resources/ios-15-aso-guide") { redirect "/aso-resources/guides/in-app-events-optimization-guide", 301 }
- get ("/market-intelligence/app-publishers") { redirect "/market-intelligence/publisher-insights", 301 }
- get ("/aso-blog/analyze-app-analytics-across-countries-in-app-intelligence") { redirect "/#{I18n.locale}/market-intelligence", 301 }
- get ("/aso-blog/top-5-2018-mobile-games-that-have-already-reached-10m-downloads") { redirect "/#{I18n.locale}/aso-blog/most-popular-apps-games", 301 }
- ##
- # REDIRECTS blog posts to /aso-intelligence
- ##
- %w(
- /aso-blog/app-store-live-search-history-now-on-apptweak
- /aso-blog/app-description-keyword-density
- /aso-blog/new-feature-category-keywords
- /aso-blog/google-play-store-install-keywords-official-data-now-on-apptweak-for-everyone
- /aso-blog/apptweak-integration-with-business-intelligence-tools-get-the-reporting-insights-you-dream-of
- /aso-blog/new-keyword-picking-tool-story-keywords
- /aso-blog/unveil-keywords-your-competitors-rank-on-and-you-don-t
- /aso-blog/keyword-research-test-your-metadata-keyword-density
- /aso-blog/new-keyword-movement-detector
- /aso-blog/keywords-organic-downloads-distribution
- /aso-blog/live-search-updated-see-rich-search-results
- /aso-blog/new-apptweak-updates-keywords-similar-apps-more
- /aso-blog/new-conversion-tracking-features
- /aso-blog/new-get-your-daily-aso-report-in-your-inbox
- /aso-blog/new-in-live-search-the-real-phone-experience
- /aso-blog/boosting-your-app-s-organic-visibility-in-2018-what-you-need-to-know
- ).each do |blog_slug|
- get "#{blog_slug}" do
- redirect "/#{I18n.locale}/aso-tools", 301
- end
- end
- ##
- # REDIRECTS blog posts to /ad-intelligence
- ##
- %w(
- /aso-blog/search-ads-update-find-app-competitors-keywords
- /aso-blog/search-ads-intelligence-top-bidding-keywords-and-top-bidding-apps
- /aso-blog/search-ads-in-depth-share-of-voice-study-and-history
- /aso-blog/new-search-ads-intelligence-dashboard
- /aso-blog/search-ads-keywords-already-available-on-apptweak
- /aso-blog/priviet-russian-keywords-have-landed-on-apptweak
- ).each do |blog_slug|
- get "#{blog_slug}" do
- redirect "/#{I18n.locale}/ad-intelligence", 301
- end
- end
- ##
- # REDIRECTS blog posts to listing page: /aso-blog
- ##
- %w(
- /aso-blog/ios-12-release-what-we-know-so-far-app-store-optimisation-on-apple-is-evolving
- /aso-blog/app-growth-meetup-in-paris-a-deezer-case-study-on-app-seasonality
- /aso-blog/compare-your-visibility-with-competitors-and-spot-keyword-opportunities
- /aso-blog/what-s-changing-in-the-new-google-play-console
- /aso-blog/ranking-history-improved-with-keywords-percentage-stack
- /aso-blog/apple-app-names-now-reduced-to-50-characters
- /aso-blog/apple-search-popularity-history-now-available
- /aso-blog/a-first-look-at-disney-app-store-launch
- /aso-blog/5-statistics-that-show-retention-is-the-new-growth-hacking
- /aso-blog/develop-an-android-or-ios-app-the-dilemma
- /aso-blog/how-to-define-your-mobile-app-brand
- /aso-blog/how-to-find-mobile-app-developers-5-easy-ways
- /aso-blog/5-app-growth-hacking-tips
- /aso-blog/how-to-do-app-store-research-for-startup-founders
- /aso-blog/improve-retention-with-these-4-steps
- /aso-blog/how-to-create-an-awesome-landing-page-and-why-should-you-do-it
- /aso-blog/the-future-of-deep-linking-from-app-to-app
- /aso-blog/getting-started-with-mobile-app-testing-what-you-need-to-know
- /aso-blog/how-to-use-micro-interactions-to-boost-your-apps-engagement
- /aso-blog/6-reasons-progressive-web-apps-are-here-to-stay
- /aso-blog/correct-understanding-lifetime-value-essential-mobile-marketing-success-thomas-applift
- /aso-blog/6-tips-to-leverage-social-media-strategies-for-your-apps-by-jayneel-from-openxcell
- /aso-blog/7-key-aso-takeaways-from-2015
- /aso-blog/ticking-the-right-boxes-for-mobile-user-onboarding
- /aso-blog/why-do-people-download-your-app
- /aso-blog/4-hacks-to-increase-app-retention-and-engagement-with-push-notifications
- /aso-blog/discover-the-best-ways-to-monetize-your-app-2
- /aso-blog/how-to-create-your-own-podcast-to-drive-app-downloads
- /aso-blog/5-ways-to-stay-ahead-of-your-competitors
- /aso-blog/every-app-marketer-work-app-store-optimization
- /aso-blog/welcome-to-the-z-world
- /aso-blog/why-the-apple-watch-is-set-to-improve-mobile-best-practices
- /aso-blog/why-your-app-design-doesnt-need-to-be-innovative
- /aso-blog/3-adtech-blunders-and-their-learnings
- /aso-blog/5-steps-to-turn-an-app-idea-into-a-reality
- /aso-blog/app-marketing-using-deep-linking
- /aso-blog/aso-means-app-developers
- /aso-blog/q-and-a-with-aso-expert-laurie-galazzo
- /aso-blog/3-important-equations-mobile-marketing
- /aso-blog/5-push-notifications-strategies-to-increase-app-engagement
- /aso-blog/7-step-process-to-getting-publicity-on-a-big-blog
- /aso-blog/ad-blocking-expansion-how-will-the-mobile-advertising-ecosystem-adapt
- /aso-blog/amazon-releases-fire-phone-new-opportunities-for-app-developers
- /aso-blog/apple-app-store-approval-now-reduced-to-just-one-day
- /aso-blog/four-things-to-do-before-your-app-launch
- /aso-blog/interview-frederic-delga-mobpartner
- /aso-blog/laurie-galazzo-inbound-marketing-manager-at-apptweak-talks-aso
- /aso-blog/mobile-presence-apptweak-brings-app-store-optimization-to-the-masses
- /aso-blog/white-label-pdf-export-has-landed-on-apptweak
- /aso-blog/3-new-ios9-features-that-app-developers-need-to-know-about
- /aso-blog/a-4-step-approach-to-creating-your-first-app
- /aso-blog/discover-the-24-worlds-largest-social-networks-now
- /aso-blog/ios9-3-new-opportunities-for-app-developers
- /aso-blog/should-uk-music-streaming-services-fear-itunes-radios-arrival
- ).each do |blog_slug|
- get "#{blog_slug}" do
- redirect "/#{I18n.locale}/aso-blog", 301
- end
- end
- ##
- # REDIRECTS to /mobile-app-news blog version
- ##
- %w(
- travel-category-rebounding-to-pre-pandemic-download-levels
- what-s-trending-in-the-app-stores-bereal-mlb-obimy
- most-popular-apps-games
- most-popular-dating-apps-in-india
- check-out-the-most-popular-dating-apps-by-country
- ).each do |blog_slug|
- get "/aso-blog/#{blog_slug}" do
- redirect "/en/mobile-app-news/#{blog_slug}", 301
- end
- end
- get ("/aso-blog/infographic-app-icon-color-palette-analysis-by-category-ios") { redirect "/en/aso-blog/infographic-mobile-games-app-icon-trends", 301 }
- get ("/aso-blog/new-app-play-store-market-intelligence") { redirect "/en/aso-blog/apptweak-s-new-app-market-intelligence-find-growth-opportunities", 301 }
- get ("/aso-blog/apptweak-s-new-app-market-intelligence-find-growth-opportunities-2") { redirect "/en/aso-blog/apptweak-s-new-app-market-intelligence-find-growth-opportunities", 301 }
- get ("/aso-blog/5-reasons-to-connect-your-apple-google-console") { redirect "/en/aso-blog/connect-your-apple-google-console", 301 }
- get ("/aso-blog/infographic-review-the-top-us-mobile-apps-games-of-2018") { redirect "/en/aso-blog/infographic-top-mobile-apps-games", 301 }
- get ("/aso-blog/9-tips-to-optimize-your-app-screenshots-2") { redirect "/en/aso-blog/how-to-optimize-your-app-screenshots", 301 }
- get ("/aso-blog/5-tips-to-optimize-your-ios-app-name") { redirect "/en/aso-blog/optimizing-your-app-title-keywords-vs-brand-name", 301 }
- get ("/aso-blog/5-tips-to-optimize-your-app-description") { redirect "/en/aso-blog/app-store-description-best-practices", 301 }
- get ("/aso-blog/4-tips-to-increase-your-mobile-app-s-conversion-rate") { redirect "/en/aso-blog/increase-your-apps-conversion-rate", 301 }
- get ("/aso-blog/10-tips-to-find-the-perfect-keywords") { redirect "/en/aso-blog/how-to-find-the-perfect-keywords-for-your-app", 301 }
- #
- # V3 : After moving to algolia category pages no longer exist
- #
- get ("/aso-blog/category/:cat") { redirect "/#{I18n.locale}/aso-blog", 301 }
- #
- # V2 : Non SEO Optimized categories
- #
- get ("/aso-university") { redirect "/#{I18n.locale}/aso-blog", 301 }
- get("/aso-university/:slug") { redirect "/#{I18n.locale}/aso-blog", 301 }
- get("/amp/aso-university/:slug") { redirect "/#{I18n.locale}/aso-blog", 301 }
- get("/most-recent") { redirect "/#{I18n.locale}/aso-blog", 301 }
- # The 'most recent' pagination system thinks the "page 1" if at index.html
- # There is probably a way to force Jekyll to think it's properly located
- # at /most recent, but I could not find it, hence a 301 rediretc instead
- get("/most-recent/index.html") { redirect "/#{I18n.locale}/aso-blog", 301 }
- get("/most-recent/posts/:id") { redirect "/#{I18n.locale}/aso-blog/#{params[:id]}", 301 }
- get("/blog") { redirect "/#{I18n.locale}/aso-blog", 301 }
- get("/blog/archives") { redirect "/#{I18n.locale}/aso-blog/archives", 301 }
- get("/learn") { redirect "/#{I18n.locale}/aso-blog", 301 }
- get("/blog/:slug") { redirect "/#{I18n.locale}/aso-blog/#{params[:slug]}", 301 }
- get("/learn/:slug") { redirect "/#{I18n.locale}/aso-blog/#{params[:slug]}", 301 }
- get("/amp/blog/:slug") { redirect "/#{I18n.locale}/amp/aso-blog/#{params[:slug]}", 301 }
- get("/amp/learn/:slug") { redirect "/#{I18n.locale}/amp/aso-blog/#{params[:slug]}", 301 }
- get("/learn/category/:cat_id") { redirect "/#{I18n.locale}/aso-blog", 301 }
- #
- # V1 :Articles with dates
- #
- get("/blog/:year/:month/:slug") { redirect "/#{I18n.locale}/aso-blog/#{params[:slug]}" }
- get("/blog/:year/:month/:day/:slug") { redirect "/#{I18n.locale}/aso-blog/#{params[:slug]}" }
- get("/learn/:year/:month/:slug") { redirect "/#{I18n.locale}/aso-blog/#{params[:slug]}" }
- get("/learn/:year/:month/:day/:slug") { redirect "/#{I18n.locale}/aso-blog/#{params[:slug]}" }
- get("/aso-university/:year/:month/:slug") { redirect "/#{I18n.locale}/aso-university/#{params[:slug]}" }
- get("/aso-university/:year/:month/:day/:slug") { redirect "/#{I18n.locale}/aso-university/#{params[:slug]}" }
- get("/app-aso-blog/:slug") { redirect "/#{I18n.locale}/aso-blog/#{params[:slug]}", 301 }
- get("/amp/aso-blog/:slug") { redirect "/#{I18n.locale}/aso-blog/#{params[:slug]}", 301 }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement