Skip to content

Conversation

@honzajavorek
Copy link
Collaborator

@honzajavorek honzajavorek commented Sep 8, 2025

The aim of this PR is to publish the new JS course as described in the PR description of #1584, and to unlist the old JS course. The old one should be still accessible for a grace period.

Replacing the old JS course with a new one, which is identical to the Python course, has been previously sanctioned by both Ondra and Michał.

The Plan

  • The scraping_basics_javascript root leads to the new JS course.
  • The pages of the old JS course move to legacy/web-scraping-for-beginners. It's gonna be a read-only archive. Must be noindex to avoid cannibalization issues.
  • The web-scraping-for-beginners, i.e. the root of the old JS course URLs, leads to redirects which take people to corresponding pages in the new JS course. This lets us use the SEO juice from the old URLs.
  • The redirects add #old-js-course to the URL. The new JS course pages contain a component which, if #old-js-course is present in the URL, displays a commemorative plaque about the change and link the old JS course. This improves UX: "Hey, you have until 1.1.2026 to go through this course. After that please refer to the newly updated JS course ."
  • At some point in future, we'll nuke the archive of the old JS course and link Internet Archive instead in the commemorative plaque.

The Plan is a result of a long discussion between Michał, Aleš, and me, which takes into account both the UX of existing users of the JS course and SEO.

Related Work


Note

Publishes the new JS course, archives the old one with redirects and an on-page notice, and updates links, content, and Nginx rewrites across the docs.

  • Academy: New JS course rollout
    • Publishes academy/webscraping/scraping_basics_javascript/* (new slugs, content, and index) and updates internal references to it.
    • Archives the old JS course under academy/webscraping/scraping_basics_legacy/* with noindex and a legacy notice.
    • Adds src/components/LegacyJsCourseAdmonition.jsx and integrates it into new course pages to show a notice when ?legacy-js-course= is present.
    • Updates course metadata (titles/sidebar labels) in Expert/Anti‑scraping lessons and adds caution notes where content depends on the legacy course.
    • Updates homepage card and other references to point to '/academy/scraping-basics-javascript'.
  • Routing/Redirects (Nginx)
    • Redirects old JS course paths ^/academy/web-scraping-for-beginners... to '/academy/scraping-basics-javascript' with ?legacy-js-course=....
    • Adds other redirects (e.g., output-schema → dataset-schema, academy php path, advanced web scraping path fix).
  • Content/link maintenance
    • Repoints numerous lessons to new paths (e.g., tutorials, Puppeteer/Playwright, advanced courses) and updates sample URLs in integrations (Make) to the new JS course.
    • Minor copy/heading tweaks (e.g., RPA title), and consistent slug/slug changes across documents.

Written by Cursor Bugbot for commit 2840ebd. Configure here.

@honzajavorek honzajavorek changed the title feat: publish the JS course feat: publish new JS course Sep 8, 2025
@honzajavorek honzajavorek added the t-academy Issues related to Web Scraping and Apify academies. label Sep 8, 2025
@honzajavorek honzajavorek force-pushed the honzajavorek/publish-js-course branch from 3ea45eb to 2c5b0c2 Compare October 15, 2025 12:34
@apify-service-account
Copy link

Preview for this PR was built for commit 2c5b0c2 and is ready at https://pr-1907.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit ce9758b2 and is ready at https://pr-1907.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 717e49c7 and is ready at https://pr-1907.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit a24ff8e5 and is ready at https://pr-1907.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit b2726ec0 and is ready at https://pr-1907.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 04754526 and is ready at https://pr-1907.preview.docs.apify.com!

@apify-service-account
Copy link

Preview for this PR was built for commit 10f13d0b and is ready at https://pr-1907.preview.docs.apify.com!

@honzajavorek honzajavorek marked this pull request as ready for review October 16, 2025 08:07
@honzajavorek honzajavorek requested a review from TC-MO as a code owner October 16, 2025 08:07
@honzajavorek honzajavorek force-pushed the honzajavorek/publish-js-course branch from 10f13d0 to 92d189a Compare October 16, 2025 08:08
@apify-service-account
Copy link

Preview for this PR was built for commit 92d189a and is ready at https://pr-1907.preview.docs.apify.com!

@honzajavorek
Copy link
Collaborator Author

I'm getting a ton of conflicts after #2056 merged before this one 😞

@honzajavorek honzajavorek force-pushed the honzajavorek/publish-js-course branch from 92d189a to 2840ebd Compare November 19, 2025 14:46
@apify-service-account
Copy link

Preview for this PR was built for commit 2840ebd and is ready at https://pr-1907.preview.docs.apify.com!

@honzajavorek
Copy link
Collaborator Author

Conflicts resolved!

bike-mud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-academy Issues related to Web Scraping and Apify academies.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update the Web scraping basics for JavaScript devs course Update Academy's approach to setting up a Node.js project

3 participants