{"id":389,"date":"2026-05-07T13:54:27","date_gmt":"2026-05-07T13:54:27","guid":{"rendered":"https:\/\/season-shrestha.uk\/wp-blog\/?p=389"},"modified":"2026-05-15T10:23:05","modified_gmt":"2026-05-15T10:23:05","slug":"small-business-website-revisited","status":"publish","type":"post","link":"https:\/\/season-shrestha.uk\/wp-blog\/small-business-website-revisited\/","title":{"rendered":"Alf&#8217;s Cycle (Small Business Website) &#8211; Critical Analysis &amp; Enhancement"},"content":{"rendered":"\n<p>This blog critically analyses <strong>Alf&#8217;s Cycle<\/strong> (small business website) developed in two stages. The initial version primarily focused on visual design and meeting the core site requirements, with limited consideration for areas such as SEO, performance optimisation, dynamic functionality, and accessibility. The second version revisits the project and introduces significant improvements across these areas to enhance the overall quality, usability, and maintainability of the website.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"605\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.55.51-AM-1024x605.png\" alt=\"\" class=\"wp-image-428\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.55.51-AM-1024x605.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.55.51-AM-300x177.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.55.51-AM-768x454.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.55.51-AM-1536x908.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.55.51-AM-2048x1210.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Initial version<\/h2>\n\n\n\n<p>The initial version was primarily developed to meet the core project requirements, with a strong emphasis on visual design and maintaining a simple codebase. While it successfully achieved these objectives, the site still required improvements in several key areas.<\/p>\n\n\n\n<p>Key areas for improvement included:<\/p>\n\n\n\n<p><strong>Accessibility:<\/strong> The site achieved an average AIM score of 9.5\/10 according to automated testing via <a href=\"https:\/\/wave.webaim.org\/\">https:\/\/wave.webaim.org\/<\/a>. However, while running automated evaluations using ARC Toolkit and AXE DevTools, along with manual testing, multiple issues were revealed, including several critical accessibility barriers. Key problems included the absence of a \u201cSkip to Content\u201d link, which limits keyboard navigation efficiency. Structural accessibility issues were also identified, such as improper exposure of decorative SVGs to screen readers. In addition, the site did not consistently include a level-one heading on pages (or within frames), which is essential for clearly defining the primary topic and supporting a logical content hierarchy.<\/p>\n\n\n\n<p><strong>SEO<\/strong>:Each page on the website was missing a properly defined H1 heading, which is a critical structural element for both accessibility and search engine optimization. In addition, the pages did not include meta descriptions and keywords, which reduces visibility in search engine results and weakens click-through potential.Furthermore, the site lacked important SEO configuration files such as robots.txt and sitemap.xml. The absence of a robots.txt file means search engine crawlers are not being guided on how to interact with the site, while the missing sitemap.xml file prevents search engines from efficiently discovering and indexing all available pages. Overall, these issues collectively limit the site\u2019s search engine discoverability, structure, and indexing efficiency.<\/p>\n\n\n\n<p><strong>Caching Strategy<\/strong>: The caching behavior observed on the site is controlled by the default configuration of the hosting environment used through cPanel (LiteSpeed server). No custom caching rules are defined in <code>.htaccess<\/code> or server-level settings, the hosting provider automatically applies a standard caching policy to static assets such as images and CSS. In this version, a default cache duration of 7 days (<code>max-age=604800<\/code>) is assigned, allowing the browser to store and reuse assets one week before checking the server for updates.The <code><strong>Date<\/strong><\/code> and <code><strong>Expires<\/strong><\/code> headers confirm that the cache is valid for only one week. This is an acceptable default setting, as it provides a balance between performance and content freshness, although it could be further improved with longer caching strategies for better optimization.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"518\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.08.21-PM-1024x518.png\" alt=\"\" class=\"wp-image-477\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.08.21-PM-1024x518.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.08.21-PM-300x152.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.08.21-PM-768x389.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.08.21-PM.png 1514w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Areas Requiring Improvement:<\/strong> The project was built using only HTML and CSS, which limited the implementation of more reusable and shared code structures. The codebase did not consistently follow the DRY (Don\u2019t Repeat Yourself) principle, and the file and folder structure could have been organised in a more logical and maintainable way. In addition, the opening hours were statically defined rather than dynamically generated. The contact page also contained duplicated shop details, the website lacked a favicon, and the navigation did not include an active state to indicate the current page. Furthermore, the site did not include a dedicated 404 error page to handle invalid or broken routes.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Revisited Version<\/h2>\n\n\n\n<p>This version included many improvements. The following is a list of the fixes and enhancements that were implemented.<\/p>\n\n\n\n<p><strong>Accessibility Fixes:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Added a \u201cSkip to Content\u201d link and implemented the recommended <code>:focus-visible<\/code> styling with a highly visible and distinctive design. The skip link improves accessibility by allowing keyboard and screen reader users to bypass repeated navigation and directly access the main content, reducing navigation time and improving overall usability.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"67\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.51.30-AM-1024x67.png\" alt=\"\" class=\"wp-image-434\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.51.30-AM-1024x67.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.51.30-AM-300x20.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.51.30-AM-768x50.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.51.30-AM-1536x100.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.51.30-AM-2048x134.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2. The heading hierarchy was properly maintained across all pages, ensuring a clear and logical content structure that improves readability and helps assistive technologies accurately interpret the page layout.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"508\" height=\"1024\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.52.39-AM-508x1024.png\" alt=\"\" class=\"wp-image-435\" style=\"aspect-ratio:0.4960973246487592;width:221px;height:auto\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.52.39-AM-508x1024.png 508w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.52.39-AM-149x300.png 149w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.52.39-AM.png 680w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/><\/figure>\n\n\n\n<p>3. Fixed the improper exposure of decorative SVG elements by applying <code>focusable=\"false\"<\/code> and <code>aria-hidden=\"true\"<\/code>. These attributes ensure that decorative graphics are ignored by assistive technologies and are not focusable via keyboard navigation, improving accessibility and preventing unnecessary screen reader clutter.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"133\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.54.53-AM-1024x133.png\" alt=\"\" class=\"wp-image-439\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.54.53-AM-1024x133.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.54.53-AM-300x39.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.54.53-AM-768x100.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.54.53-AM-1536x199.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-9.54.53-AM.png 1590w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>4. Added an Accessibility Statement to communicate the website\u2019s commitment to inclusive design and equal access for all users, including those using assistive technologies.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"843\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Accessibility-Statement-Alf-s-Cycle-05-14-2026_10_30_PM-1024x843.png\" alt=\"\" class=\"wp-image-497\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Accessibility-Statement-Alf-s-Cycle-05-14-2026_10_30_PM-1024x843.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Accessibility-Statement-Alf-s-Cycle-05-14-2026_10_30_PM-300x247.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Accessibility-Statement-Alf-s-Cycle-05-14-2026_10_30_PM-768x632.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Accessibility-Statement-Alf-s-Cycle-05-14-2026_10_30_PM-1536x1264.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Accessibility-Statement-Alf-s-Cycle-05-14-2026_10_30_PM-2048x1685.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>SEO Fixes:<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Added appropriate page titles, meta descriptions, and relevant keywords to improve search engine visibility and ensure each page is accurately represented in search results. These elements were necessary because they help search engines understand the content of the page, improve indexing, and increase the likelihood of users finding the website through relevant search queries.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"186\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.20.11-AM-1024x186.png\" alt=\"\" class=\"wp-image-446\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.20.11-AM-1024x186.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.20.11-AM-300x54.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.20.11-AM-768x139.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.20.11-AM-1536x278.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.20.11-AM.png 1656w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2. Added <code>sitemap.xml<\/code> file to the website to list all important pages in a structured format. This was necessary because it helps search engines efficiently crawl and index the site, ensuring that all key pages are discovered and improving overall SEO performance and visibility in search results.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"747\" height=\"1024\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.24.08-AM-747x1024.png\" alt=\"\" class=\"wp-image-449\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.24.08-AM-747x1024.png 747w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.24.08-AM-219x300.png 219w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.24.08-AM-768x1053.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.24.08-AM.png 992w\" sizes=\"auto, (max-width: 747px) 100vw, 747px\" \/><\/figure>\n\n\n\n<p>3. Added a <code>robots.txt<\/code> file with rules for search engine crawlers, including restrictions on accessing <code>\/layout\/<\/code>, <code>\/assets\/<\/code>, and <code>404.php<\/code>, along with a reference to the site\u2019s sitemap. This was necessary to guide search engine bots on which parts of the website should or should not be crawled, helping to improve crawl efficiency, protect non-content or utility files from indexing, and support better overall SEO structure.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"207\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.28.00-AM-1024x207.png\" alt=\"\" class=\"wp-image-452\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.28.00-AM-1024x207.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.28.00-AM-300x61.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.28.00-AM-768x155.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.28.00-AM-1536x311.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.28.00-AM.png 1946w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>4. Strengthened <strong>geolocation SEO<\/strong> by embedding structured location data, geographic coordinates, and business identity signals into every page of the website. It ensures search engines can accurately associate the website with a real-world UK location (Folkestone, Kent), improving local search relevance, map visibility, and overall trust in the business entity.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"868\" height=\"1024\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.57.57-AM-868x1024.png\" alt=\"\" class=\"wp-image-467\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.57.57-AM-868x1024.png 868w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.57.57-AM-254x300.png 254w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.57.57-AM-768x906.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.57.57-AM-1302x1536.png 1302w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.57.57-AM.png 1324w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/figure>\n\n\n\n<p>5. Integrated Google Search Console to monitor website performance in search results. However, it may take a few days for data to appear in the dashboard as Google needs time to crawl and index the site and begin collecting search analytics.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"421\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.30.18-AM-1024x421.png\" alt=\"\" class=\"wp-image-454\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.30.18-AM-1024x421.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.30.18-AM-300x123.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.30.18-AM-768x316.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.30.18-AM-1536x632.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.30.18-AM-2048x843.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Improved Caching Mechanism<\/strong>:Implemented browser caching rules for static assets using the <code>.htaccess<\/code> file by configuring both <code>mod_expires<\/code> and <code>mod_headers<\/code>. This setup defines how long different file types such as images, fonts, CSS, and JavaScript should be stored in the user\u2019s browser cache. Images and fonts are set to be cached for up to one year, while CSS and JavaScript files are cached for one month to balance performance and content updates. Additionally, a <code>Cache-Control<\/code> header with <code>public, max-age=31536000, immutable<\/code> was applied to image and font files to instruct the browser that these resources will not change during the caching period and do not need to be revalidated. This was necessary to improve website performance by reducing repeated server requests, decreasing load times, and ensuring faster page rendering through efficient client-side caching of static assets.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"818\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.20.44-PM-1024x818.png\" alt=\"\" class=\"wp-image-481\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.20.44-PM-1024x818.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.20.44-PM-300x240.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.20.44-PM-768x614.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-4.20.44-PM.png 1452w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Further enhancements<\/strong><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Migrated the project to PHP and reorganised the folder structure into a more logical and maintainable order. This was necessary to improve code organisation, separate concerns more clearly, and make the project easier to navigate, maintain, and scale in future development.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"443\" height=\"1024\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.33.00-AM-443x1024.png\" alt=\"\" class=\"wp-image-456\" style=\"aspect-ratio:0.4326234324890058;width:206px;height:auto\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.33.00-AM-443x1024.png 443w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.33.00-AM-130x300.png 130w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.33.00-AM.png 472w\" sizes=\"auto, (max-width: 443px) 100vw, 443px\" \/><\/figure>\n\n\n\n<p>2. Created shared header and footer components to eliminate redundant code across multiple pages. This was necessary to improve maintainability, ensure consistency throughout the site, and follow the DRY (Don\u2019t Repeat Yourself) principle, making future updates faster and less error-prone.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"756\" height=\"180\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.35.49-AM.png\" alt=\"\" class=\"wp-image-458\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.35.49-AM.png 756w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.35.49-AM-300x71.png 300w\" sizes=\"auto, (max-width: 756px) 100vw, 756px\" \/><\/figure>\n\n\n\n<p>3. Implemented a custom error page and configured it via the <code>.htaccess<\/code> file to handle broken or non-existent URLs in a user-friendly way. This was necessary to improve user experience by providing clear feedback when 404 error occur, reduce user frustration, and maintain consistent site branding instead of displaying generic server error messages.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"589\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.37.37-AM-1024x589.png\" alt=\"\" class=\"wp-image-461\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.37.37-AM-1024x589.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.37.37-AM-300x172.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.37.37-AM-768x441.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.37.37-AM-1536x883.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.37.37-AM-2048x1177.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>4. Implemented server-side logic for displaying opening hours, ensuring the information is rendered dynamically. This was necessary so that users can still view accurate opening hours even when JavaScript is disabled, improving accessibility and reliability. The system was also configured with a UK locale to align with the target audience and ensure time and regional formatting are appropriate for users in the United Kingdom.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"826\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.42.06-AM-1024x826.png\" alt=\"\" class=\"wp-image-463\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.42.06-AM-1024x826.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.42.06-AM-300x242.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.42.06-AM-768x620.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.42.06-AM.png 1378w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"72\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.44.53-AM-1024x72.png\" alt=\"\" class=\"wp-image-465\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.44.53-AM-1024x72.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.44.53-AM-300x21.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.44.53-AM-768x54.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.44.53-AM-1536x107.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-10.44.53-AM-2048x143.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>5. Minor UI fixes &#8211; Shop details were repeated on contact page. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"975\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Alf-s-Cycle-Contact-05-14-2026_03_19_PM-1024x975.png\" alt=\"\" class=\"wp-image-470\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Alf-s-Cycle-Contact-05-14-2026_03_19_PM-1024x975.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Alf-s-Cycle-Contact-05-14-2026_03_19_PM-300x286.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Alf-s-Cycle-Contact-05-14-2026_03_19_PM-768x731.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Alf-s-Cycle-Contact-05-14-2026_03_19_PM-1536x1462.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Alf-s-Cycle-Contact-05-14-2026_03_19_PM-2048x1949.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Repeated shop details were fixed also, the now the navigation menu has active state.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"616\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Contact-Alf-s-Cycle-Bicycle-Shop-in-Cheriton-05-14-2026_03_22_PM-1024x616.png\" alt=\"\" class=\"wp-image-472\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Contact-Alf-s-Cycle-Bicycle-Shop-in-Cheriton-05-14-2026_03_22_PM-1024x616.png 1024w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Contact-Alf-s-Cycle-Bicycle-Shop-in-Cheriton-05-14-2026_03_22_PM-300x181.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Contact-Alf-s-Cycle-Bicycle-Shop-in-Cheriton-05-14-2026_03_22_PM-768x462.png 768w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Contact-Alf-s-Cycle-Bicycle-Shop-in-Cheriton-05-14-2026_03_22_PM-1536x924.png 1536w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Contact-Alf-s-Cycle-Bicycle-Shop-in-Cheriton-05-14-2026_03_22_PM-2048x1232.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Added favicon.ico in the title for branding of the site. Although, design could have been much better.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"810\" height=\"96\" src=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.52.45-PM.png\" alt=\"\" class=\"wp-image-490\" srcset=\"https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.52.45-PM.png 810w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.52.45-PM-300x36.png 300w, https:\/\/season-shrestha.uk\/wp-blog\/wp-content\/uploads\/2026\/05\/Screenshot-2026-05-14-at-8.52.45-PM-768x91.png 768w\" sizes=\"auto, (max-width: 810px) 100vw, 810px\" \/><\/figure>\n\n\n\n<p class=\"has-extra-small-font-size\"><em>Artificial Intelligence (AI) tools were used during the development of this project and while writing this blog to enhance contextual clarity, present information more clearly and professionally, assist with code refactoring, and help identify and handle potential edge cases. All AI-generated suggestions, code, and written content were carefully reviewed, refined, and validated to ensure accuracy, relevance, and alignment with the project requirements.<\/em><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/season-shrestha-university\/alfs-cycle-php\">https:\/\/github.com\/season-shrestha-university\/alfs-cycle-php<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog critically analyses Alf&#8217;s Cycle (small business website) developed in two stages. The initial version primarily focused on visual design and meeting the core site requirements, with limited consideration for areas such as SEO, performance optimisation, dynamic functionality, and accessibility. The second version revisits the project and introduces significant improvements across these areas to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-389","post","type-post","status-publish","format-standard","hentry","category-articles"],"_links":{"self":[{"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/posts\/389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/comments?post=389"}],"version-history":[{"count":87,"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/posts\/389\/revisions"}],"predecessor-version":[{"id":507,"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/posts\/389\/revisions\/507"}],"wp:attachment":[{"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/media?parent=389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/categories?post=389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/season-shrestha.uk\/wp-blog\/wp-json\/wp\/v2\/tags?post=389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}