# REM Web Development > Free web programming tutorials and courses for beginners (HTML, CSS, JavaScript, Vue, npm), plus SEO and hosting guides for developers. Originally written by Niall Kader, who has been building websites since 1998; restored in 2026 with the original URLs. All content is in English and free to read. Archived articles from 2008–2010 (Flex, Adobe AIR, JavaFX, early Android) are kept for reference and may describe retired technologies. ## Courses - [Introduction to Web Programming](https://www.remwebdevelopment.com/courses/introduction-to-web-programming/): A fast-moving introductory level course in programming with a focus on web development. TYou'll learn HTML, CSS, and JavaScript - [CSS Crash Course](https://www.remwebdevelopment.com/courses/introduction-to-web-programming/css/): A quick introduction to CSS - [HTML Crash Course](https://www.remwebdevelopment.com/courses/introduction-to-web-programming/html/): A quick overview of HTML. No programming experience required. - [JavaScript Crash Course](https://www.remwebdevelopment.com/courses/introduction-to-web-programming/javascript/): A JavaScript course for absolute beginners. - [Node Package Manager Crash Course](https://www.remwebdevelopment.com/courses/node-package-manager/): A series of tutorials on incorporating Node Packager Manager into a web project ## SEO for web developers - [Canonical URLs Explained (With Examples)](https://www.remwebdevelopment.com/blog/seo/canonical-urls-explained.html): What a canonical URL is, when to use a canonical tag instead of a redirect, and how to generate and check them automatically. - [301 Redirects with .htaccess (Without Redirect Chains)](https://www.remwebdevelopment.com/blog/seo/301-redirects-htaccess.html): How to redirect old URLs with Apache .htaccess so every visitor lands on the final https://www URL in one hop, and how to test it. - [Website Migration SEO Checklist: Rebuild Without Losing Traffic](https://www.remwebdevelopment.com/blog/seo/website-migration-seo-checklist.html): The checklist used to rebuild this site from a custom PHP CMS into a static Astro site while keeping every URL that had backlinks. - [How to Add Schema Markup to HTML with JSON-LD](https://www.remwebdevelopment.com/blog/seo/json-ld-schema-markup.html): A beginner-friendly guide to structured data: BlogPosting and BreadcrumbList examples, generating JSON-LD safely, and testing it. - [Astro SEO: Building a Fast, Search-Friendly Static Site](https://www.remwebdevelopment.com/blog/seo/astro-seo-static-site.html): Why static sites are good for SEO and the pieces every Astro site needs: site URL, canonical tags, sitemap, structured data and old URLs. - [What Is llms.txt? Making Your Website Readable by AI (2026)](https://www.remwebdevelopment.com/blog/seo/what-is-llms-txt.html): What llms.txt is, the format with a real example from this site, how to generate it, and what actually helps AI assistants read and cite your pages. ## Blog topics - [SEO (6 posts)](https://www.remwebdevelopment.com/blog/seo/) - [HTML (11 posts)](https://www.remwebdevelopment.com/blog/html/) - [CSS (9 posts)](https://www.remwebdevelopment.com/blog/css/) - [JavaScript (45 posts)](https://www.remwebdevelopment.com/blog/javascript/) - [Vue (4 posts)](https://www.remwebdevelopment.com/blog/vue/) - [Web Programming (5 posts)](https://www.remwebdevelopment.com/blog/web-programming/) - [jQuery (5 posts)](https://www.remwebdevelopment.com/blog/jquery/) - [HTML 5 (3 posts)](https://www.remwebdevelopment.com/blog/html5/) - [iOS (5 posts)](https://www.remwebdevelopment.com/blog/ios/) - [Android (2 posts)](https://www.remwebdevelopment.com/blog/android/) - [Python (2 posts)](https://www.remwebdevelopment.com/blog/python/) - [SQL (5 posts)](https://www.remwebdevelopment.com/blog/sql/) - [Programming in C (1 posts)](https://www.remwebdevelopment.com/blog/c-programming/) - [Ubuntu (1 posts)](https://www.remwebdevelopment.com/blog/ubuntu/) - [Book Reviews (3 posts)](https://www.remwebdevelopment.com/blog/book-reviews/) - [General (16 posts)](https://www.remwebdevelopment.com/blog/general/) ## Recent posts - [Canonical URLs Explained (With Examples)](https://www.remwebdevelopment.com/blog/seo/canonical-urls-explained.html): What a canonical URL is, when to use a canonical tag instead of a redirect, and how to generate and check them automatically. - [301 Redirects with .htaccess (Without Redirect Chains)](https://www.remwebdevelopment.com/blog/seo/301-redirects-htaccess.html): How to redirect old URLs with Apache .htaccess so every visitor lands on the final https://www URL in one hop, and how to test it. - [Website Migration SEO Checklist: Rebuild Without Losing Traffic](https://www.remwebdevelopment.com/blog/seo/website-migration-seo-checklist.html): The checklist used to rebuild this site from a custom PHP CMS into a static Astro site while keeping every URL that had backlinks. - [How to Add Schema Markup to HTML with JSON-LD](https://www.remwebdevelopment.com/blog/seo/json-ld-schema-markup.html): A beginner-friendly guide to structured data: BlogPosting and BreadcrumbList examples, generating JSON-LD safely, and testing it. - [Astro SEO: Building a Fast, Search-Friendly Static Site](https://www.remwebdevelopment.com/blog/seo/astro-seo-static-site.html): Why static sites are good for SEO and the pieces every Astro site needs: site URL, canonical tags, sitemap, structured data and old URLs. - [How to Host a Static Website on a VPS with Nginx](https://www.remwebdevelopment.com/blog/web-programming/host-static-website-on-vps-nginx.html): Rent a small Linux VPS, install Nginx, point a domain at it, add free HTTPS and deploy your files with one rsync command. - [What Is llms.txt? Making Your Website Readable by AI (2026)](https://www.remwebdevelopment.com/blog/seo/what-is-llms-txt.html): What llms.txt is, the format with a real example from this site, how to generate it, and what actually helps AI assistants read and cite your pages. - [Vibe Coding for Beginners: Learning Web Development with AI in 2026](https://www.remwebdevelopment.com/blog/web-programming/vibe-coding-for-beginners.html): What AI coding assistants are good at, where vibe-coded sites go wrong, and how to use AI to learn HTML, CSS and JavaScript faster instead of skipping them. - [Embedding CSS Code in a Web Page](https://www.remwebdevelopment.com/blog/css/css-embedding-code-into-a-web-page.html): Three ways to incorporate CSS code into a web page - [Floating Elements in CSS](https://www.remwebdevelopment.com/blog/css/css-floating-elements.html): An overview of the float property in CSS - [JavaScript Methods](https://www.remwebdevelopment.com/blog/javascript/javascript-methods.html): An overview methods in JavaScript - [JavaScript Objects](https://www.remwebdevelopment.com/blog/javascript/javascript-objects.html): A quick overview of some of the things you can do with JavaScript - [Vue User Manager - Step 4](https://www.remwebdevelopment.com/blog/vue/user-manager-step4.html): A tutorial that covers some of the things that can trip you up when learning Vue - [Vue User Manager - Step 3](https://www.remwebdevelopment.com/blog/vue/user-manager-step3.html): A tutorial that covers some of the things that can trip you up when learning Vue - [Vue User Manager - Step 2](https://www.remwebdevelopment.com/blog/vue/user-manager-step2.html): A tutorial that covers some of the things that can trip you up when learning Vue ## Optional - [REM DEV archive 2008–2010](https://www.remwebdevelopment.com/dev/): 49 archived articles on Flex, AIR, Flash, JavaFX and early Android - [Full sitemap](https://www.remwebdevelopment.com/sitemap-index.xml)