PageSourceSearch

https://northwestwebpros.com/blog

html northwestwebpros.com collected 2026-10-02 16:03:06 UTC 17,697 bytes, 37 lines download raw bytes

1<!DOCTYPE html><html lang="en-US"><head><meta charSet="utf-8"/><meta name="description" content="Custom small business website design and development in the greater Pacific Northwest. Let us upgrade your business&#x27; digital presence and organic growth."/><meta property="og:title" content="Northwest Web Pros"/><meta property="og:description" content="Custom small business website design and development in the greater Pacific Northwest. Let us upgrade your business&#x27; digital presence and organic growth."/><meta property="og:image" content="https://northwestwebpros.com/image/pacific.jpg"/><link rel="icon" href="/favicon.ico"/><meta name="viewport" content="width=device-width, initial-scale=1"/><title>Northwest Web Pros Blog</title><meta name="next-head-count" content="8"/>
1<script async="" src="https://identity.netlify.com/v1/netlify-identity-widget.js"></script>
1<link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/>
1<script type="text/javascript">
2            /** This section is only needed once per page if manually copying **/
3            if (typeof MauticSDKLoaded == 'undefined') {
4                var MauticSDKLoaded = true;
5                var head            = document.getElementsByTagName('head')[0];
6                var script          = document.createElement('script');
7                script.type         = 'text/javascript';
8                script.src          = 'https://m.northwestwebpros.com/media/js/mautic-form.js?v858ea56e';
9                script.onload       = function() {
10                    MauticSDK.onLoad();
11                };
12                head.appendChild(script);
13                var MauticDomain = 'https://m.northwestwebpros.com';
14                var MauticLang   = {
15                    'submittingMessage': "Please wait..."
16                }
17            }else if (typeof MauticSDK != 'undefined') {
18                MauticSDK.onLoad();
19            }</script>
19<link rel="preload" href="/_next/static/css/b1f57b08919501b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/b1f57b08919501b3.css" data-n-g=""/><link rel="preload" href="/_next/static/css/b1053cbe9646a522.css" as="style"/><link rel="stylesheet" href="/_next/static/css/b1053cbe9646a522.css" data-n-p=""/><noscript data-n-css=""></noscript>
19<script defer="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script>
19<script src="/_next/static/chunks/webpack-57c6922038803934.js" defer=""></script>
19<script src="/_next/static/chunks/main-dd7fb878fd552075.js" defer=""></script>
19<script src="/_next/static/chunks/pages/_app-a7c8a764283073ec.js" defer=""></script>
19<script src="/_next/static/chunks/782-5d133f40cd8b12cf.js" defer=""></script>
19<script src="/_next/static/chunks/pages/blog-a1fb1c59f2af815e.js" defer=""></script>
19<script src="/_next/static/9D096HUdvZ5BPTI9vrd7W/_buildManifest.js" defer=""></script>
19<script src="/_next/static/9D096HUdvZ5BPTI9vrd7W/_ssgManifest.js" defer=""></script>
19</head><body><div id="__next"><div class="Toastify"></div><div id="navigation"><div class="logo-n"><a aria-label="Link to home page" href="/"><svg class="sgvnlogo_nLogo__Zc735" height="100%" width="100%" version="1.1" viewBox="0 0 17.464 24.868" xmlns="http://www.w3.org/2000/svg"><g id="layer1" transform="translate(-42.8 -24.805)"><g id="n" transform="matrix(.35278 0 0 -.35278 45.442 31.299)"><path id="path22" d="m0 0h8.932l24.044-37.872h0.144v37.872h8.568v-51.408h-9.504l-23.4 37.8h-0.216v-37.8h-8.568z"></path></g><g fill="white" id="g64" transform="matrix(.35278 0 0 -.35278 48.541 36.1)"><path id="path66" d="m0 0 23.275-37.598c0.078-0.126 0.215-0.202 0.362-0.202h8.495c0.335 0 0.538 0.37 0.359 0.653l-34.755 55.025c-0.153 0.242-0.028 0.563 0.249 0.638l5.631 0.813c0.376 0.102 0.429 0.614 0.081 0.79l-18.682 11.176c-0.285 0.144-0.621-0.065-0.618-0.384l2.491-23.159c5e-3 -0.402 0.512-0.575 0.76-0.259l3.199 5.647c0.181 0.229 0.534 0.213 0.692-0.033z"></path></g><g id="arrow" transform="matrix(.35278 0 0 -.35278 49.728 29.209)"><path fill="black" stroke="black" id="path70" d="m0 0c8e-3 -6e-3 0.017-0.011 0.025-0.015zm-15.809-11.699 1e-3 -9e-3c1e-3 2e-3 0 5e-3 -1e-3 9e-3m36.218-44.958h7.903l-34.513 54.642c-0.186 0.293-0.221 0.661-0.096 0.986 0.126 0.324 0.402 0.572 0.738 0.664l4.964 0.721-17.648 10.555 2.356-21.879 2.837 4.993c0.22 0.279 0.561 0.43 0.917 0.419 0.355-0.017 0.681-0.205 0.873-0.503l8.467-13.118zm8.356-1.35h-8.494c-0.385 0-0.735 0.195-0.937 0.522l-23.272 37.592-8.23 12.751-3.02-5.315c-0.292-0.371-0.771-0.513-1.219-0.361s-0.741 0.557-0.746 1.03l-2.487 23.094c-8e-3 0.453 0.186 0.807 0.515 1.011 0.329 0.206 0.732 0.223 1.078 0.048l18.724-11.199c0.368-0.185 0.603-0.614 0.556-1.071s-0.364-0.83-0.807-0.95l-5.279-0.767 34.548-54.697c0.214-0.338 0.227-0.767 0.034-1.119-0.193-0.351-0.563-0.569-0.964-0.569"></path></g></g></svg></a></div><div class="nav-collapse"><ul class="navbar-nav justify-start"></ul><span class="darkmodebutton_dark-mode-button__bTX4P"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="moon" class="svg-inline--fa fa-moon " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><path fill="currentColor" d="M223.5 32C100 32 0 132.3 0 256S100 480 223.5 480c60.6 0 115.5-24.2 155.8-63.4c5-4.9 6.3-12.5 3.1-18.7s-10.1-9.7-17-8.5c-9.8 1.7-19.8 2.6-30.1 2.6c-96.9 0-175.5-78.8-175.5-176c0-65.8 36-123.1 89.3-153.3c6.1-3.5 9.2-10.5 7.7-17.3s-7.3-11.9-14.3-12.5c-6.3-.5-12.6-.8-19-.8z"></path></svg></span><button id="menu" aria-label="Menu button" class="hamburger-menu" aria-expanded="false" aria-controls="navbar-menu"><span aria-hidden="true"></span></button><nav class="navbar-nav" id="navbar-menu"><ul><li><a aria-current="page" href="/about">About</a></li><li><a aria-current="page" href="/blog">Blog</a></li><li><a aria-current="page" href="/portfolio">Portfolio</a></li><li><a aria-current="page" href="/services">Services</a></li></ul></nav></div></div><main><div><section class="section_section__94sht"><div class="section_container__Goa8g"><h1>Northwest Web Pros Blog</h1><div class="blog_card__58RFH"><a href="/blog/how-to-hook-into-nextjs-router-events"><div class="blog_content__g8oon"><div class="blog_card-img-top__chByQ"><img alt="Featured image for blog post title" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/static/chunks/images/uploads/nextjs_640_75.webp 640w, /_next/static/chunks/images/uploads/nextjs_750_75.webp 750w, /_next/static/chunks/images/uploads/nextjs_828_75.webp 828w, /_next/static/chunks/images/uploads/nextjs_1080_75.webp 1080w, /_next/static/chunks/images/uploads/nextjs_1200_75.webp 1200w, /_next/static/chunks/images/uploads/nextjs_1920_75.webp 1920w, /_next/static/chunks/images/uploads/nextjs_2048_75.webp 2048w, /_next/static/chunks/images/uploads/nextjs_3840_75.webp 3840w" src="/_next/static/chunks/images/uploads/nextjs_3840_75.webp"/></div><div><h2>How to Hook into NextJS Router Events</h2><h3 class="blog_card-date__GUXz2">March 3, 2023 1:36 PM</h3><p>Sometimes when using NextJS&#x27; built in router you want to run some code for every navigation between pages. Normally in pure HTML + JS, this could be done via a simple script tag, which would cause the javascript within the tag to be re-ran every time the page loads...</p></div></div></a></div><div class="blog_card__58RFH"><a href="/blog/what-your-website-needs-to-improve-interaction-to-next-paint-inp-scores-in-2023-and-2024"><div class="blog_content__g8oon"><div class="blog_card-img-top__chByQ"><img alt="Featured image for blog post title" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_640_75.webp 640w, /_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_750_75.webp 750w, /_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_828_75.webp 828w, /_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_1080_7
195.webp 1080w, /_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_1200_75.webp 1200w, /_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_1920_75.webp 1920w, /_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_2048_75.webp 2048w, /_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_3840_75.webp 3840w" src="/_next/static/chunks/images/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr_3840_75.webp"/></div><div><h2>What Your Website Needs to Improve Interaction to Next Paint (INP) Scores in 2023 and 2024</h2><h3 class="blog_card-date__GUXz2">May 30, 2023 9:34 PM</h3><p>We’ve already talked about how Google Lighthouse / Core Web Vitals scores can either jeopardize or help your websites’ SEO progress. Google recently announced that one of the Core Web Vitals, First Input Delay (FID) will be replaced with Interaction to Next Paint (INP)....</p></div></div></a></div><div class="blog_card__58RFH"><a href="/blog/why-google-lighthouse-scores-are-crucial-for-small-business-websites"><div class="blog_content__g8oon"><div class="blog_card-img-top__chByQ"><img alt="Featured image for blog post title" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_640_75.webp 640w, /_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_750_75.webp 750w, /_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_828_75.webp 828w, /_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_1080_75.webp 1080w, /_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_1200_75.webp 1200w, /_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_1920_75.webp 1920w, /_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_2048_75.webp 2048w, /_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_3840_75.webp 3840w" src="/_next/static/chunks/images/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image_3840_75.webp"/></div><div><h2>Why Google Lighthouse Scores are Crucial for Small Business Websites</h2><h3 class="blog_card-date__GUXz2">May 29, 2023 7:27 AM</h3><p>In today&#x27;s digital marketplace, having an online presence is no longer a mere convenience; it&#x27;s an absolute necessity. Small businesses, in particular, depend on their websites to reach customers, establish brand presence, and drive sales...</p></div></div></a></div><div class="blog_card__58RFH"><a href="/blog/why-mobile-optimization-is-important"><div class="blog_content__g8oon"><div class="blog_card-img-top__chByQ"><img alt="Featured image for blog post title" loading="lazy" decoding="async" data-nimg="fill" style="position:absolute;height:100%;width:100%;left:0;top:0;right:0;bottom:0;color:transparent" sizes="100vw" srcSet="/_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_640_75.webp 640w, /_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_750_75.webp 750w, /_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_828_75.webp 828w, /_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_1080_75.webp 1080w, /_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_1200_75.webp 1200w, /_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_1920_75.webp 1920w, /_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_2048_75.webp 2048w, /_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_3840_75.webp 3840w" src="/_next/static/chunks/images/uploads/ben-kolde-xdlxpic3wfk-unsplash_3840_75.webp"/></div><div><h2>Why Mobile Optimization is Important</h2><h3 class="blog_card-date__GUXz2">May 26, 2023 11:12 AM</h3><p>In today&#x27;
19s fast-paced digital era, where smartphones and tablets have become an integral part of our lives, having a mobile-optimized website is no longer just an option but a necessity. Northwest Web Pros understands the significance of mobile optimization in driving website success...</p></div></div></a></div></div></section></div></main><footer class="footer"><div class="left"><div><h1>Services</h1><ul><li><p>Website Development</p></li><li><p>Web Design</p></li><li><p>Application Development</p></li><li><p>SEO Services</p></li></ul></div></div><div class="right"><div><h1>Locations</h1><ul><li><a href="/beaverton-web-design">Beaverton</a></li><li><a href="/clackamas-web-design">Clackamas</a></li><li><a href="/happy-valley-web-design">Happy Valley</a></li><li><a href="/hillsboro-web-design">Hillsboro</a></li><li><a href="/lake-oswego-web-design">Lake Oswego</a></li><li><a href="/portland-web-design">Portland</a></li></ul></div></div><div class="bottom"><p>Site built by <a href="https://www.northwestwebpros.com" target="_blank">Northwest Web Pros LLC</a> | Copyright © <!-- -->2025<!-- --> | <a href="/privacy">Privacy</a></p></div></footer></div>
19<script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"blogs":[{"title":"How to Hook into NextJS Router Events","date":"March 3, 2023 1:36 PM","image":"/uploads/nextjs.webp","imageAlt":"NextJS","description":"Sometimes when using NextJS' built in router you want to run some code for every navigation between pages. Normally in pure HTML + JS, this could be done via a simple script tag, which would cause the javascript within the tag to be re-ran every time the page loads","slug":"how-to-hook-into-nextjs-router-events"},{"title":"What Your Website Needs to Improve Interaction to Next Paint (INP) Scores in 2023 and 2024","date":"May 30, 2023 9:34 PM","image":"https://purepng.com/public/uploads/large/purepng.com-google-logo-2015brandlogobrand-logoiconssymbolslogosgoogle-6815229372333mqrr.png","imageAlt":"Google logo","description":"We’ve already talked about how Google Lighthouse / Core Web Vitals scores can either jeopardize or help your websites’ SEO progress. Google recently announced that one of the Core Web Vitals, First Input Delay (FID) will be replaced with Interaction to Next Paint (INP).","slug":"what-your-website-needs-to-improve-interaction-to-next-paint-inp-scores-in-2023-and-2024"},{"title":"Why Google Lighthouse Scores are Crucial for Small Business Websites","date":"May 29, 2023 7:27 AM","image":"https://10web.io/blog/wp-content/uploads/sites/2/2022/08/Google-Lighthouse-featured-image.png","imageAlt":"Google Lighthouse","description":"In today's digital marketplace, having an online presence is no longer a mere convenience; it's an absolute necessity. Small businesses, in particular, depend on their websites to reach customers, establish brand presence, and drive sales","slug":"why-google-lighthouse-scores-are-crucial-for-small-business-websites"},{"title":"Why Mobile Optimization is Important","date":"May 26, 2023 11:12 AM","image":"/uploads/ben-kolde-xdlxpic3wfk-unsplash.jpg","imageAlt":"Mobile device","description":"In today's fast-paced digital era, where smartphones and tablets have become an integral part of our lives, having a mobile-optimized website is no longer just an option but a necessity. Northwest Web Pros understands the significance of mobile optimization in driving website success","slug":"why-mobile-optimization-is-important"}]},"__N_SSG":true},"page":"/blog","query":{},"buildId":"9D096HUdvZ5BPTI9vrd7W","isFallback":false,"gsp":true,"scriptLoader":[]}</script>
19<script>
20              if (window.netlifyIdentity) {
21                window.netlifyIdentity.on("init", user => {
22                  if (!user) {
23                    window.netlifyIdentity.on("login", () => {
24                      document.location.href = "/admin/";
25                    });
26                  }
27                });
28              }
29          </script>
29<script>
30            (function(w,d,t,u,n,a,m){w['MauticTrackingObject']=n;
31                w[n]=w[n]||function(){(w[n].q=w[n].q||[]).push(arguments)},a=d.createElement(t),
32                m=d.getElementsByTagName(t)[0];a.async=1;a.src=u;m.parentNode.insertBefore(a,m)
33            })(window,document,'script','https://m.northwestwebpros.com/mtc.js','mt');
34
35            mt('send', 'pageview');
36        </script>
36<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"21530fb977e34e5cac04df685495fc61","r":1,"spa":2}' crossorigin="anonymous"></script>
36
37</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.