PageSourceSearch

https://geoffrey.com.au/

html geoffrey.com.au collected 2026-09-27 07:08:27 UTC 92,903 bytes, 1,027 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en-US" prefix="og: https://ogp.me/ns#">
3<head>
4	<!-- Google Tag Manager -->
5	
5<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
6	new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
7	j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
8	'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
9	})(window,document,'script','dataLayer','G-1FGV4NSWVG');</script>
9
10	<!-- End Google Tag Manager -->
11	
12	<meta charset="UTF-8">
13	<meta name="viewport" content="width=device-width, initial-scale=1">
14	
15<!-- Search Engine Optimization by Rank Math - https://rankmath.com/ -->
16<title>Perth Web Design, WordPress &amp; SEO | Geoffrey Digital</title>
17<meta name="description" content="Perth web design, WordPress development &amp; SEO. Work directly with a qualified local developer — no outsourcing, no jargon. Fixed quotes, fast replies."/>
18<meta name="robots" content="follow, index"/>
19<link rel="canonical" href="https://geoffrey.com.au/" />
20<link rel="next" href="https://geoffrey.com.au/page/2/" />
21<meta property="og:locale" content="en_AU" />
22<meta property="og:type" content="website" />
23<meta property="og:title" content="Perth Web Design, WordPress &amp; SEO | Geoffrey Digital" />
24<meta property="og:description" content="Perth web design, WordPress development &amp; SEO. Work directly with a qualified local developer — no outsourcing, no jargon. Fixed quotes, fast replies." />
25<meta property="og:url" content="https://geoffrey.com.au/" />
26<meta property="og:site_name" content="Geoffrey Digital" />
27<meta property="og:image" content="https://geoffrey.com.au/wp-content/uploads/2026/05/how-much-is-a-website-in-2026.png" />
28<meta property="og:image:secure_url" content="https://geoffrey.com.au/wp-content/uploads/2026/05/how-much-is-a-website-in-2026.png" />
29<meta property="og:image:width" content="1456" />
30<meta property="og:image:height" content="816" />
31<meta property="og:image:alt" content="how much is a website?" />
32<meta property="og:image:type" content="image/png" />
33<meta name="twitter:card" content="summary_large_image" />
34<meta name="twitter:title" content="Perth Web Design, WordPress &amp; SEO | Geoffrey Digital" />
35<meta name="twitter:description" content="Perth web design, WordPress development &amp; SEO. Work directly with a qualified local developer — no outsourcing, no jargon. Fixed quotes, fast replies." />
36<meta name="twitter:image" content="https://geoffrey.com.au/wp-content/uploads/2026/05/how-much-is-a-website-in-2026.png" />
37<script type="application/ld+json" class="rank-math-schema">{"@context":"https://schema.org","@graph":[{"@type":"LocalBusiness","@id":"https://geoffrey.com.au/#organization","name":"Geoffrey Digital","url":"https://geoffrey.com.au","logo":{"@type":"ImageObject","@id":"https://geoffrey.com.au/#logo","url":"https://geoffrey.com.au/wp-content/uploads/2026/06/apple-touch-icon.png","contentUrl":"https://geoffrey.com.au/wp-content/uploads/2026/06/apple-touch-icon.png","caption":"Geoffrey Digital","inLanguage":"en-US","width":"180","height":"180"},"openingHours":["Mo,Tu,We,Th,Fr,Sa,Su 09:00-17:00"],"legalName":"[email protected]","image":{"@id":"https://geoffrey.com.au/#logo"}},{"@type":"WebSite","@id":"https://geoffrey.com.au/#website","url":"https://geoffrey.com.au","name":"Geoffrey Digital","alternateName":"Geoffrey Websites","publisher":{"@id":"https://geoffrey.com.au/#organization"},"inLanguage":"en-US","potentialAction":{"@type":"SearchAction","target":"https://geoffrey.com.au/?s={search_term_string}","query-input":"required name=search_term_string"}},{"@type":"CollectionPage","@id":"https://geoffrey.com.au/#webpage","url":"https://geoffrey.com.au/","name":"Perth Web Design, WordPress &amp; SEO | Geoffrey Digital","about":{"@id":"https://geoffrey.com.au/#organization"},"isPartOf":{"@id":"https://geoffrey.com.au/#website"},"inLanguage":"en-US"}]}</script>
37
38<!-- /Rank Math WordPress SEO plugin -->
39
40<link rel='dns-prefetch' href='//unpkg.com' />
41<link rel='dns-prefetch' href='//cdn.jsdelivr.net' />
42<link rel='dns-prefetch' href='//www.googletagmanager.com' />
43<link rel='dns-prefetch' href='//fonts.googleapis.com' />
44<style id="wp-img-auto-sizes-contain-inline-css">
45img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
46/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
47</style>
48
49<style id="wp-emoji-styles-inline-css">
50
51	img.wp-smiley, img.emoji {
52		display: inline !important;
53		border: none !important;
54		box-shadow: none !important;
55		height: 1em !important;
56		width: 1em !important;
57		margin: 0 0.07em !important;
58		vertical-align: -0.1em !important;
59		background: none !important;
60		padding: 0 !important;
61	}
62/*# sourceURL=wp-emoji-styles-inline-css */
63</style>
64<style id="wp-block-library-inline-css">
65:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
65--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
66
67/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
68</style>
69<style id="wp-block-heading-inline-css">
70h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}
71/*# sourceURL=https://geoffrey.com.au/wp-includes/blocks/heading/style.min.css */
72</style>
73<style id="wp-block-paragraph-inline-css">
74.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}
75/*# sourceURL=https://geoffrey.com.au/wp-includes/blocks/paragraph/style.min.css */
76</style>
77<style id="wp-block-verse-inline-css">
78pre.wp-block-verse{box-sizing:border-box;min-width:1em;overflow:auto;white-space:pre-wrap;word-break:break-word}:where(pre.wp-block-verse){font-family:inherit}
79/*# sourceURL=https://geoffrey.com.au/wp-includes/blocks/verse/style.min.css */
80</style>
81
82
83<style id="global-styles-inline-css">
84:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--color--navy: #10273f;--wp--preset--color--navy-2: #183b5d;--wp--preset--color--ink: #1e2b36;--wp--preset--color--text: #5c6975;--wp--preset--color--muted: #7e8993;--wp--preset--color--terracotta: #cf6b49;--wp--preset--color--terracotta-dark: #b95636;--wp--preset--color--sage: #7f9371;--wp--preset--color--sage-dark: #667857;--wp--preset--color--gold: #b4955f;--wp--preset--color--bg: #f7f3ec;--wp--preset--color--bg-soft: #fcfaf7;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,
840) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }.wp-site-blocks > .alignleft { float: left; margin-right: 2em; }.wp-site-blocks > .alignright { float: right; margin-left: 2em; }.wp-site-blocks > .aligncenter { justify-content: center; margin-left: auto; margin-right: auto; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}.is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}.is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}.is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){margin-left: auto !important;margin-right: auto !important;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-navy-color{color: var(--wp--preset--color--navy) !important;}.has-navy-2-color{color: var(--wp--preset--color--navy-2) !important;}.has-ink-color{color: var(--wp--preset--color--ink) !important;}.has-text-color{color: var(--wp--preset--color--text) !important;}.has-muted-color{color: var(--wp--preset--color--muted) !important;}.has-terracotta-color{color: var(--wp--preset--color--terracotta) !important;}.has-terracotta-dark-color{color: var(--wp--preset--color--terracotta-dark) !important;}.has-sage-color{color: var(--wp--preset--color--sage) !important;}.has-sage-dark-color{color: var(--wp--preset--color--sage-dark) !important;}.has-gold-color{color: var(--wp--preset--color--gold) !important;}.has-bg-color{color: var(--wp--preset--color--bg) !important;}.has-bg-soft-color{color: var(--wp--preset--color--bg-soft) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-navy-background-color{background-color: var(--wp--preset--color--navy) !important;}.has-navy-2-background-color{background-color: var(--wp--preset--color--navy-2) !important;}.has-ink-background-color{background-color: var(--wp--preset--color--ink) !important;}.has-text-background-color{background-color: var(--wp--preset--color--text) !important;}.has-muted-background-color{background-color: var(--wp--preset--color--muted) !important;}.has-terracotta-background-color{background-color: var(--wp--preset--color--terracotta) !important;}.has-terracotta-dark-background-color{background-color: var(--wp--preset--color--terracotta-dark) !important;}.has-sage-background-color{background-color: var(--wp--preset--color--sage) !important;}.has-sage-dark-background-color{background-color: var(--wp--preset--color--sage-dark) !important;}.has-gold-background-color{background-color: var(--wp--preset--color--gold) !important;}.has-bg-background-color{background-color: var(--wp--preset--color--bg) !important;}.has-bg-soft-background-color{background-color: var(--wp--preset--color--bg-soft) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-navy-border-color{border-color: var(--wp--preset--color--navy) !important;}.has-navy-2-border-color{border-color: var(--wp--preset--color--navy-2) !important;}.has-ink-border-color{border-color: var(--wp--preset--color--ink) !important;}.has-text-border-color{border-color: var(--wp--preset--color--text) !important;}.has-muted-border-color{border-color: var(--wp--preset--color--muted) !important;}.has-terracotta-border-color{border-color: var(--wp--preset--color--terracotta) !important;}.has-terracotta-dark-border-color{border-color: var(--wp--preset--color--terracotta-dark) !important;}.has-sage-border-color{border-color: var(--wp--preset--color--sage) !important;}.has-sage-dark-border-color{border-color: var(--wp--preset--color--sage-dark) !important;}.has-gold-border-color{border-color: var(--wp--preset--color--gold) !important;}.has-bg-border-color{border-color: var(--wp--preset--color--bg) !important;}.has-bg-soft-border-color{border-color: var(--wp--preset--color--bg-soft) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
84.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}
85/*# sourceURL=global-styles-inline-css */
86</style>
87
88<style id="madlibs-style-inline-css">
89
90        .madlibs-container{max-width:800px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
91        .madlibs-container *{box-sizing:border-box}
92        .madlibs-back-link{display:inline-block;margin-bottom:20px;text-decoration:none;font-weight:bold;color:#333}
93        .madlibs-title{color:#0073aa;margin-bottom:20px}
94        .madlibs-subtitle{color:#666;font-size:.95em;margin:-10px 0 20px;line-height:1.5}
95        .madlibs-form{background:#f9f9f9;padding:30px;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1)}
96        .madlibs-progress{font-size:.9em;color:#666;margin-bottom:18px}
97        .madlibs-progress .bar{height:6px;background:#e0e0e0;border-radius:3px;margin-top:6px;overflow:hidden}
98        .madlibs-progress .bar span{display:block;height:100%;width:0;background:#0073aa;transition:width .25s}
99        .madlibs-field{margin-bottom:20px}
100        .madlibs-field label{display:block;margin-bottom:5px;font-weight:600;color:#333}
101        .madlibs-field .slot-type{display:inline-block;font-size:.72em;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:#2196F3;border-radius:3px;padding:2px 7px;margin-left:8px;vertical-align:middle}
102        .madlibs-field .slot-hint{display:block;font-weight:normal;color:#666;font-size:.85em;margin-top:3px}
103        .madlibs-field input{width:100%;padding:12px;border:2px solid #ddd;border-radius:5px;font-size:16px;transition:border-color .3s}
104        .madlibs-field input:focus{outline:none;border-color:#0073aa}
105        .madlibs-submit{background:#0073aa;color:#fff;border:none;padding:15px 40px;font-size:18px;border-radius:5px;cursor:pointer;transition:transform .2s,box-shadow .2s}
106        .madlibs-submit:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2)}
107        .madlibs-result{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;padding:40px;border-radius:10px;font-size:1.2em;line-height:1.8;box-shadow:0 4px 20px rgba(0,0,0,.15)}
108        .madlibs-result .filled-word{background:rgba(255,255,255,.25);padding:2px 8px;border-radius:4px;font-weight:bold;color:#ffd700}
109        .madlibs-actions{margin-top:20px;display:flex;flex-wrap:wrap;gap:10px}
110        .madlibs-actions button{color:#fff;border:none;padding:12px 30px;font-size:16px;border-radius:5px;cursor:pointer;transition:opacity .3s}
111        .madlibs-actions button:hover{opacity:.9}
112        .madlibs-restart{background:#2196F3}
113        .madlibs-print{background:#607D8B}
114        .madlibs-email{background:#E91E63}
115        .madlibs-copy{background:#795548}
116        .madlibs-save{background:#FF9800}
117        .madlibs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;padding:20px 0}
118        .madlibs-card{background:#fff;border-radius:10px;padding:25px;box-shadow:0 2px 15px rgba(0,0,0,.1);transition:transform .3s,box-shadow .3s}
119        .madlibs-card:hover{transform:translateY(-5px);box-shadow:0 8px 25px rgba(0,0,0,.15)}
120        .madlibs-card h3{margin:0 0 10px;color:#333}
121        .madlibs-card .category{color:#0073aa;font-size:.85em;margin-bottom:15px}
122        .madlibs-card .play-btn{display:inline-block;background:#0073aa;color:#fff;padding:10px 20px;border-radius:5px;text-decoration:none;font-weight:600;transition:background .3s}
123        .madlibs-card .play-btn:hover{background:#2196F3}
124        .madlibs-error{background:#f8d7da;color:#721c24;padding:20px;border-radius:5px;text-align:center}
125        .madlibs-no-selection{text-align:center;padding:40px;background:#f0f0f0;border-radius:10px;color:#666}
126        .madlibs-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:20px}
127        .madlibs-gallery-item{background:#fff;border-radius:10px;padding:20px;box-shadow:0 4px 15px rgba(0,0,0,.08);border-top:5px solid #0073aa}
128        .madlibs-gallery-item h3{margin:0 0 5px;color:#333;font-size:1.2em}
129        .madlibs-gallery-meta{font-size:.85em;
129color:#777;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid #eee}
130        .madlibs-gallery-content{font-size:.95em;line-height:1.6;color:#444}
131        .madlibs-gallery-content .filled-word{background:#fff3cd;padding:1px 4px;border-radius:3px;font-weight:bold;color:#856404}
132        .madlibs-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:99999;justify-content:center;align-items:center}
133        .madlibs-modal-overlay.active{display:flex}
134        .madlibs-modal{background:#fff;padding:30px;border-radius:10px;max-width:500px;width:90%;box-shadow:0 10px 40px rgba(0,0,0,.3)}
135        .madlibs-modal h3{margin:0 0 20px;color:#333}
136        .madlibs-modal-field{margin-bottom:15px}
137        .madlibs-modal-field label{display:block;margin-bottom:5px;font-weight:600;color:#333}
138        .madlibs-modal-field input,.madlibs-modal-field textarea{width:100%;padding:10px;border:2px solid #ddd;border-radius:5px;font-size:14px}
139        .madlibs-modal-field textarea{height:80px;resize:vertical}
140        .madlibs-modal-buttons{display:flex;gap:10px;margin-top:20px}
141        .madlibs-modal-send{background:#E91E63;color:#fff;border:none;padding:12px 25px;border-radius:5px;cursor:pointer;font-size:14px}
142        .madlibs-modal form[data-role=save] .madlibs-modal-send{background:#FF9800}
143        .madlibs-modal-cancel{background:#ccc;color:#333;border:none;padding:12px 25px;border-radius:5px;cursor:pointer;font-size:14px}
144        .madlibs-modal-status{margin-top:15px;padding:10px;border-radius:5px;display:none}
145        .madlibs-modal-status.info{display:block;background:#e7f3ff;color:#0056b3}
146        .madlibs-modal-status.success{display:block;background:#d4edda;color:#155724}
147        .madlibs-modal-status.error{display:block;background:#f8d7da;color:#721c24}
148        @media print{
149            body *{visibility:hidden}
150            .madlibs-print-area,.madlibs-print-area *{visibility:visible}
151            .madlibs-print-area{position:absolute;left:0;top:0;width:100%;padding:40px}
152            .madlibs-print-area .madlibs-result{background:#fff!important;color:#000!important;box-shadow:none!important;border:2px solid #333;padding:30px}
153            .madlibs-print-area .filled-word{background:#ffffcc!important;color:#000!important;border-bottom:2px solid #333;padding:0 4px}
154            .madlibs-print-area .madlibs-title{color:#000!important;border-bottom:2px solid #333;padding-bottom:10px;margin-bottom:20px}
155            .madlibs-print-area .madlibs-print-footer{margin-top:30px;padding-top:20px;border-top:1px solid #ccc;font-size:12px;color:#666}
156            .madlibs-actions,.madlibs-form-container,.madlibs-modal-overlay{display:none!important}
157        }
158    
159/*# sourceURL=madlibs-style-inline-css */
160</style>
161<link rel='stylesheet' id='tailwindcss-css' href='https://cdn.jsdelivr.net/npm/[email protected]/dist/tailwind.min.css?ver=2.2.19' media='all' />
162<link rel='stylesheet' id='geoffrey-google-fonts-css' href='https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&#038;display=swap' media='all' />
163<link rel='stylesheet' id='bootstrap-css' href='https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css?ver=5.3.3' media='all' />
164<link rel='stylesheet' id='geoffrey-theme-css' href='https://geoffrey.com.au/wp-content/themes/geoffrey-digital/assets/css/theme.css?ver=1787021854' media='all' />
165
166<!-- Google tag (gtag.js) snippet added by Site Kit -->
167<!-- Google Analytics snippet added by Site Kit -->
vendor: 80 bytes, lines 167-168
167
168<script id="google_gtagjs-js" src="https://www.googletagmanager.com/gtag/js?id=
168GT-MKPX8FB
vendor: 18 bytes, line 168
168" async></script>
169<script id="google_gtagjs-js-after">
170window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}
171gtag("set","linker",{"domains":["geoffrey.com.au"]});
172gtag("js", new Date());
173gtag("set", "developer_id.dZTNiMT", true);
174gtag("config", "GT-MKPX8FB");
175 window._googlesitekit = window._googlesitekit || {}; window._googlesitekit.throttledEvents = []; window._googlesitekit.gtagEvent = (name, data) => { var key = JSON.stringify( { name, data } ); if ( !! window._googlesitekit.throttledEvents[ key ] ) { return; } window._googlesitekit.throttledEvents[ key ] = true; setTimeout( () => { delete window._googlesitekit.throttledEvents[ key ]; }, 5 ); gtag( "event", name, { ...data, event_source: "site-kit" } ); }; 
176//# sourceURL=google_gtagjs-js-after
177</script>
177
178<link rel="https://api.w.org/" href="https://geoffrey.com.au/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://geoffrey.com.au/xmlrpc.php?rsd" />
179<meta name="generator" content="WordPress 7.1.2" />
180<meta name="generator" content="Site Kit by Google 1.188.0" /><link rel="icon" href="https://geoffrey.com.au/wp-content/uploads/2026/06/cropped-logo-lozenge-32x32.png" sizes="32x32" />
181<link rel="icon" href="https://geoffrey.com.au/wp-content/uploads/2026/06/cropped-logo-lozenge-192x192.png" sizes="192x192" />
182<link rel="apple-touch-icon" href="https://geoffrey.com.au/wp-content/uploads/2026/06/cropped-logo-lozenge-180x180.png" />
183<meta name="msapplication-TileImage" content="https://geoffrey.com.au/wp-content/uploads/2026/06/cropped-logo-lozenge-270x270.png" />
184<style id="wp-custom-css">
185/* WordPress main menu links */
186.navbar a,
187.navbar .menu a,
188.navbar .menu-item a,
189.navbar .main-navigation a {
190  color: var(--navy) !important;
191  text-decoration: none;
192}
193
194.navbar a:hover,
195.navbar .menu a:hover,
196.navbar .menu-item a:hover,
197.navbar .main-navigation a:hover,
198.navbar .current-menu-item > a,
199.navbar .current_page_item > a {
200  color: var(--terracotta) !important;
201}
202
203/* Keep brand button text white inside the navbar —
204  overrides theme nav-link colour rules. */
205.navbar a.btn.btn-brand,
206.navbar a.btn.btn-brand:hover,
207.navbar a.btn.btn-brand:focus {
208    color: #fff !important;
209}
210
211/* Space out top nav items */
212.navbar .menu-item {
213  margin-right: 0.7rem;
214}
215
216.navbar .menu-item:last-child {
217  margin-right: 30px;
218}
219
220.navbar .menu-item > a,
221.navbar .nav-link {
222  font-weight: 600;
223}
224
225/* general nav link colours */
226.entry-content a,
227.site-main a,
228article a {
229  color: var(--ast-global-color-0);
230  text-decoration: underline;
231  text-underline-offset: 0.12em;
232  text-decoration-thickness: 1px;
233}
234
235.entry-content a:hover,
236.entry-content a:focus,
237.site-main a:hover,
238.site-main a:focus,
239article a:hover,
240article a:focus {
241  color: var(--ast-global-color-1);
242  text-decoration: underline;
243}
244
245.entry-content a:visited,
246.site-main a:visited,
247article a:visited {
248  color: var(--ast-global-color-0);
249  text-decoration: none;
250}
251}
252
253
254</style>
255	
256<style id="wp-block-custom-css-inline-css">
257:root :where(.wp-custom-css-b632e2fe){padding:0 50px;}
258/*# sourceURL=wp-block-custom-css-inline-css */
259</style>
260<style id="core-block-supports-inline-css">
261.wp-elements-1 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-2 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage-dark);}.wp-elements-3 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage-dark);}.wp-elements-4 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-5 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-6 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-7 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-8 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-9 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-10 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--bg-soft);}.wp-elements-11 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-12 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-13 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-14 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-15 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-16 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-17 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-18 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-19 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}
261.wp-elements-20 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-21 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-22 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--vivid-cyan-blue);}.wp-elements-23 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--bg);}.wp-elements-24 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-25 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-26 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-27 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-28 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-29 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-30 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-31 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-32 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-33 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-34 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-35 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-36 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-37 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-38 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-39 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--bg-soft);}.wp-elements-40 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--gold);}.wp-elements-41 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--gold);}.wp-elements-42 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--text);}.wp-elements-43 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-44 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--text);}.wp-elements-45 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-46 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--sage);}.wp-elements-47 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-48 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--text);}.wp-elements-49 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-50 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-51 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}.wp-elements-52 a:where(:not(.wp-element-button)){color:var(--wp--preset--color--terracotta);}
262/*# sourceURL=core-block-supports-inline-css */
263</style>
264
265</head>
266<body class="home blog wp-embed-responsive wp-theme-geoffrey-digital">
267	<!-- Google Tag Manager (noscript) -->
268	<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=G-1FGV4NSWVG"
269	height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
270	<!-- End Google Tag Manager (noscript) -->
271
272<header class="site-header">
273	<nav class="navbar navbar-expand-lg">
274		<div class="container">
275			<a class="navbar-brand" href="https://geoffrey.com.au/">
276				<img src="https://geoffrey.com.au/wp-content/themes/geoffrey-digital/assets/images/geoffrey-logo.png" alt="Perth Web Design, WordPress &amp; SEO | Geoffrey logo" class="site-logo">
277				<div class="brand-text">
278					<strong>Geoffrey Digital</strong>
279					<span>Websites | WP | Apps | SEO</span>
280				</div>
281			</a>
282
283			<button class="navbar-toggler border-0 shadow-none" type="button" data-bs-toggle="collapse" data-bs-target="#siteNav" aria-controls="siteNav" aria-expanded="false" aria-label="Toggle navigation">
284				<span class="navbar-toggler-icon"></span>
285			</button>
286
287			<div class="collapse navbar-collapse justify-content-end" id="siteNav">
288				<ul id="menu-main" class="navbar-nav main-menu me-lg-3"><li id="menu-item-7" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-7"><a href="https://geoffrey.com.au" aria-current="page">Home</a></li>
289<li id="menu-item-5218" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5218"><a href="https://geoffrey.com.au/about/">About Us</a></li>
290<li id="menu-item-9" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-has-children menu-item-9"><a href="https://geoffrey.com.au/#services" aria-current="page">Services</a>
291<ul class="sub-menu">
292	<li id="menu-item-5211" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5211"><a href="https://geoffrey.com.au/seo-site-check/">SEO Site Check</a></li>
293	<li id="menu-item-5181" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5181"><a href="https://geoffrey.com.au/website-design/">Website Design</a></li>
294	<li id="menu-item-84" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-84"><a href="https://geoffrey.com.au/website-maintenance-plans/">Hosting &#038; Maintenance 2026</a></li>
295	<li id="menu-item-5286" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5286"><a href="https://geoffrey.com.au/seo-plans/">Monthly SEO Plans</a></li>
296	<li id="menu-item-87" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-87"><a href="https://geoffrey.com.au/search-engine-optimisation-seo/">Search Engine Optimisation</a></li>
297	<li id="menu-item-5097" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5097"><a href="https://geoffrey.com.au/apps/">Free Business Calculators &#038; Custom Web Apps</a></li>
298	<li id="menu-item-5036" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-5036"><a href="https://geoffrey.com.au/idea-generators/">Fun Idea Generators</a></li>
299</ul>
300</li>
301<li id="menu-item-12" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-has-children menu-item-12"><a href="https://geoffrey.com.au/#articles" aria-current="page">Articles</a>
302<ul class="sub-menu">
303	<li id="menu-item-5310" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-5310"><a href="https://geoffrey.com.au/should-ai-build-your-website/">Should You Let AI Build Your Website?</a></li>
304	<li id="menu-item-5228" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-5228"><a href="https://geoffrey.com.au/how-to-use-claude-ai/">Using Claude for Business</a></li>
305	<li id="menu-item-5141" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-5141"><a href="https://geoffrey.com.au/website-not-getting-enquiries/">7 Traffic Fixes for Perth Websites</a></li>
306	<li id="menu-item-253" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-253"><a href="https://geoffrey.com.au/the-evolution-of-seo/">
306Old SEO Vs. New SEO</a></li>
307	<li id="menu-item-88" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-88"><a href="https://geoffrey.com.au/how-much-is-a-website/">How Much is a Website?</a></li>
308	<li id="menu-item-123" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-123"><a href="https://geoffrey.com.au/website-trust-signals/">Trust Signals on a Website</a></li>
309	<li id="menu-item-5140" class="menu-item menu-item-type-post_type menu-item-object-post menu-item-5140"><a href="https://geoffrey.com.au/wordpress-maintenance/">Ignoring WordPress Maintenance?</a></li>
310</ul>
311</li>
312</ul>				<a href="https://geoffrey.com.au/#contact" class="btn btn-brand mt-3 mt-lg-0">
313					Contact
314				</a>
315			</div>
316		</div>
317	</nav>
318</header>
319<section class="hero">
320	<div class="container">
321		<div class="row align-items-start g-4 g-lg-5">
322			<div class="col-lg-6">
323				<div class="hero-copy-wrap">
324					<div class="eyebrow">Website Design, WordPress Themes & Plugins, SEO</div>
325
326					<h1 class="hero-title">
327						Build trust with a website that looks <span class="accent-1">professional</span>, feels <span class="accent-2">current</span>, and turns visitors into loyal customers.
328					</h1>
329
330					<p class="hero-copy">
331						Geoffrey Digital helps Australian small business and government organisations improve their online presence with clear website design, better content, dependable WordPress support and practical SEO improvements for the AI age.
332					</p>
333
334					<div class="d-flex flex-wrap gap-3">
335						<a href="#contact" class="btn btn-outline-brand">Contact Form</a>
336						<a href="#services" class="btn btn-outline-brand">Our Services</a>
337						<a href="https://geoffrey.com.au/seo-site-check/" class="btn btn-brand">Free SEO Check</a>
338					</div>
339
340					<div class="proof-strip mt-5">
341						<div class="proof-item">
342							<strong>30yrs+</strong>
343							<span>We've been here the whole time.</span>
344						</div>
345						<div class="proof-item">
346							<strong>WordPress</strong>
347							<span>Themes, plug-ins, fixes & support.</span>
348						</div>
349						<div class="proof-item">
350							<strong>SEO &amp; AI</strong>
351							<span>Visibility, structure. Get found by AI.</span>
352						</div>
353					</div>
354
355					<ul class="hero-points justify-content-center text-muted">
356						<li>Est. 1997</li>
357						<li>Perth-based</li>
358						<li>Australian Sites</li>
359						<li>Web Design &amp; SEO</li>
360					</ul>
361				</div>
362			</div>
363
364			<div class="col-lg-6">
365				<div class="hero-visual">
366					<div class="hero-image-card">
367						<div class="hero-note">
368							<span class="glass-tag">Responsive by Design</span>
369							<div class="mini-card">
370								<small>Better service</small>
371								<strong>We work with a select number of clients so we can give each project the focus, responsiveness, and attention it deserves.</strong>
372							</div>
373						</div>
374
375						<div class="hero-image-content">
376							<h2>Present your business with greater clarity and confidence online</h2>
377							<p>
378								Your website should make your business feel credible, capable, and easy to understand. We help bring that clarity to the surface.
379							</p>
380						</div>
381					</div>
382				</div>
383				<small class="d-block mt-4 mx-5 text-muted">
384					<img src="https://geoffrey.com.au/wp-content/uploads/2026/06/geoffrey-made-in-wa.png" align="right" height="auto" width="150px" alt="made in western australia">All websites and apps are made in Western Australia, with no offshore work or outsourcing, and with a focus on practical improvements that make a real difference to how a business or organisation looks, reads and performs online.
385				</small>
386			</div>
387		</div>
388	</div>
389</section>
390
391<section id="services" class="section-pad">
392	<div class="container">
393		<div class="section-heading">
394			<div class="eyebrow">Services</div>
395			<h2>Website support that improves how a small business looks, reads and performs online</h2>
396			<p>
397				From full website design through to SEO or technical updates, content refinement and WordPress maintenance,
398				the aim is to make the website more credible, useful and easier for potential clients to trust.
399			</p>
400		</div>
401
402		<div class="row g-4">
403			<div class="col-lg-4">
404				<article class="service-card">
405					<div class="service-image service-image-1"></div>
406					<div class="service-body">
407						<span class="service-tag">Design &amp; Build Websites & Apps</span>
408						<h3>Website Design and App Development</h3>
409						<p>Professional websites (like the <a href="https://geoffrey.com.au/case-studies/the-woods-medical-clinic/"><u>The Woods Medical Clinic</u></a>) with clear content hierarchy, strong messaging and a presentation that better reflects the quality of the organisation.</p>
410					</div>
411				</article>
412			</div>
413
414			<div class="col-lg-4">
415				<article class="service-card">
416					<div class="service-image service-image-2"></div>
417					<div class="service-body">
418						<span class="service-tag">SEO, AI &amp; Content Management</span>
419						<h3>Search Engine Optimisation in the Age of AI</h3>
420						<p>High ranking pages have more useful content and an improved structure to help people find the site and understand your specific industry position and offering.</p>
421					</div>
422				</article>
423			</div>
424
425			<div class="col-lg-4">
426				<article class="service-card">
427					<div class="service-image service-image-3"></div>
428					<div class="service-body">
429						<span class="service-tag">WP Support &amp; Maintenance</span>
430						<h3>WordPress Theme & Plugin Development</h3>
431						<p>We can build custom themes or plugins, tailored to your specific needs. Practical website improvements so you stay current and dependable.</p>
432					</div>
433				</article>
434			</div>
435		</div>
436	</div>
437</section>
438
439<section id="communication" class="section-pad feature-band">
440	<div class="container">
441		<div class="section-heading mb-4">
442			<div class="eyebrow eyebrow-dark">Communication</div>
443			<h2 class="text-white">A cleaner website structure communicates strong visual confidence</h2>
444			<p class="text-white-50">Websites we build look great, are easy to use and simple to navigate. Our aim is to evoke trust and credibility in your small business.</p>
445		</div>
446		<div class="row g-4">
447			<div class="col-lg-4">
448				<article class="feature-panel feature-panel-1">
449					<div class="feature-content">
450						<span class="glass-tag mb-3">Content Hierarchy</span>
451						<h3 class="mb-2">Clear content hierarchy from the first page</h3>
452						<p class="mb-0 text-white-50">Better spacing, stronger headlines and more obvious content flow.</p>
453					</div>
454				</article>
455			</div>
456			<div class="col-lg-4">
457				<article class="feature-panel feature-panel-2">
458					<div class="feature-content">
459						<span class="glass-tag mb-3">Business Credibility</span>
460						<h3 class="mb-2">Larger visuals and a more polished business feel</h3>
461						<p class="mb-0 text-white-50">A more premium look without being too flashy or over-designed.</p>
462					</div>
463				</article>
464			</div>
465			<div class="col-lg-4">
466				<article class="feature-panel feature-panel-3">
467					<div class="feature-content">
468						<span class="glass-tag mb-3">Upgradable</span>
469						<h3 class="mb-2">Websites that are easy to edit, extend and adapt later</h3>
470						<p class="mb-0 text-white-50">Start with one page and expand to save. Grow your client base slowly.</p>
471					</div>
472				</article>
473			</div>
474		</div>
475	</div>
476</section>
477
478<section id="about" class="section-pad">
479	<div class="container">
480		<div class="about-panel">
481			<div class="row g-0 align-items-stretch">
482				<div class="col-lg-6">
483					<div class="about-copy">
484						<div class="eyebrow">About Geoffrey Websites</div>
485						<h2>Practical websites for small business and organisations that need a more <em>conscious</em> online presence.</h2>
486						<p>
487							Not every business needs a marketing agency to build their website. More often, what’s needed is thoughtful design and authentic content with a bit of technical support. Ultimately, a website needs to feel 
488current and trustworthy. With those foundations in place, you’re far more likely to succeed online.
489						</p>
490						<ul class="tick-list">
491							<li>Professional websites for service businesses</li>
492							<li>Clearer messaging and stronger visual hierarchy</li>
493							<li>SEO, content and WordPress support</li>
494							<li>Ongoing maintenance and practical improvement work</li>
495							<li>Hosting and/or hosting advice</li>
496						</ul>
497						
498						<a href="https://geoffrey.com.au/about/" class="btn btn-brand">About Us</a>
499					</div>
500				</div>
501
502				<div class="col-lg-6">
503					<div class="about-image"></div>
504				</div>
505			</div>
506		</div>
507
508		<section class="case-studies-home mt-5">
509			<div class="section-heading mb-4">
510				<div class="eyebrow">Case Studies</div>
511				<h2>Selected projects and practical improvement work</h2>
512				<p>Case studies which demonstrate how we approach projects and work with our clients.</p>
513			</div>
514
515							<div class="row g-4">
516											<div class="col-md-6 col-lg-4">
517							<article class="case-card">
518								<a href="https://geoffrey.com.au/case-studies/myaree-garage-door-repairs/" class="case-card-image-link">
519																			<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-myaree-garage-door-repairs-768x430.jpg" class="case-card-image wp-post-image" alt="myaree garage door repairs" decoding="async" fetchpriority="high" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-myaree-garage-door-repairs-768x430.jpg 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-myaree-garage-door-repairs-300x168.jpg 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-myaree-garage-door-repairs-1024x574.jpg 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-myaree-garage-door-repairs-1536x861.jpg 1536w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-myaree-garage-door-repairs-2048x1148.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" />																	</a>
520								<div class="case-card-body">
521									<h3 class="case-card-title"><a href="https://geoffrey.com.au/case-studies/myaree-garage-door-repairs/">Myaree Garage Door Repairs</a></h3>
522																			<p>Myaree Garage Door Service provides professional repair and maintenance for sectional and roller garage doors in Melville, Myaree and surrounding suburbs.</p>
523																	</div>
524							</article>
525						</div>
526											<div class="col-md-6 col-lg-4">
527							<article class="case-card">
528								<a href="https://geoffrey.com.au/case-studies/hr-automate/" class="case-card-image-link">
529																			<img width="768" height="480" src="https://geoffrey.com.au/wp-content/uploads/2026/08/image-768x480.png" class="case-card-image wp-post-image" alt="HR Automate WA" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/image-768x480.png 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/image-300x188.png 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/image-1024x640.png 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/image-1536x960.png 1536w, https://geoffrey.com.au/wp-content/uploads/2026/08/image-2048x1280.png 2048w" sizes="(max-width: 768px) 100vw, 768px" />																	</a>
530								<div class="case-card-body">
531									<h3 class="case-card-title"><a href="https://geoffrey.com.au/case-studies/hr-automate/">HR Automate</a></h3>
532																			<p>HR Automate uses digital tools, software, and AI to streamline manual Human Resources tasks, eliminating repetitive paperwork and freeing up teams to focus on the company strategy.</p>
533																	</div>
534							</article>
535						</div>
536											<div class="col-md-6 col-lg-4">
537							<article class="case-card">
538								<a href="https://geoffrey.com.au/case-studies/sull-earth-siteworks/" class="case-card-image-link">
539																			<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-sull-earth-768x430.jpg" class="case-card-image wp-post-image" alt="sull earth siteworks website" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-sull-earth-768x430.jpg 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-sull-earth-300x168.jpg 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-sull-earth-1024x574.jpg 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-sull-earth-1536x861.jpg 1536w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-sull-earth-2048x1148.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" />																	</a>
540								<div class="case-card-body">
541									<h3 class="case-card-title"><a href="https://geoffrey.com.au/case-studies/sull-earth-siteworks/">Sull Earth Siteworks</a></h3>
542																			<p>Sull Earth is a family-run civil earthmoving and residential siteworks company based in Wattleup, Perth, WA.</p>
543																	</div>
544							</article>
545						</div>
546											<div class="col-md-6 col-lg-4">
547							<article class="case-card">
548								<a href="https://geoffrey.com.au/case-studies/upkeep-plumbing/" class="case-card-image-link">
549																			<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-upkeep-plumbing-768x430.jpg" class="case-card-image wp-post-image" alt="new upkeep plumbing website" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-upkeep-plumbing-768x430.jpg 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-upkeep-plumbing-300x168.jpg 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-upkeep-plumbing-1024x574.jpg 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-upkeep-plumbing-1536x861.jpg 1536w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-upkeep-plumbing-2048x1148.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" />																	</a>
550								<div class="case-card-body">
551									<h3 class="case-card-title"><a href="https://geoffrey.com.au/case-studies/upkeep-plumbing/">Upkeep Plumbing</a></h3>
552																			<p>Upkeep Plumbing is a licensed professional plumbing business operating in the South Eastern suburbs of Melbourne, Victoria.</p>
553																	</div>
554							</article>
555						</div>
556											<div class="col-md-6 col-lg-4">
557							<article class="case-card">
558								<a href="https://geoffrey.com.au/case-studies/steel-domes/" class="case-card-image-link">
559																			<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-steel-domes-768x430.jpg" class="case-card-image wp-post-image" alt="steel domes website" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-steel-domes-768x430.jpg 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-steel-domes-300x168.jpg 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-steel-domes-1024x574.jpg 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-steel-domes-1536x861.jpg 1536w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-steel-domes-2048x1148.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" />																	</a>
560								<div class="case-card-body">
561									<h3 class="case-card-title"><a href="https://geoffrey.com.au/case-studies/steel-domes/">Steel Domes</a></h3>
562																			<p>Steel domes refer to self-supporting, curved architectural or industrial structures engineered from high-strength steel to span massive spaces without internal 
562columns. </p>
563																	</div>
564							</article>
565						</div>
566											<div class="col-md-6 col-lg-4">
567							<article class="case-card">
568								<a href="https://geoffrey.com.au/case-studies/ifix-truck-curtains/" class="case-card-image-link">
569																			<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-ifix-truck-curtains-768x430.jpg" class="case-card-image wp-post-image" alt="ifix truck curtains website" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-ifix-truck-curtains-768x430.jpg 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-ifix-truck-curtains-300x168.jpg 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-ifix-truck-curtains-1024x574.jpg 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-ifix-truck-curtains-1536x861.jpg 1536w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-ifix-truck-curtains-2048x1148.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" />																	</a>
570								<div class="case-card-body">
571									<h3 class="case-card-title"><a href="https://geoffrey.com.au/case-studies/ifix-truck-curtains/">iFix Truck Curtains</a></h3>
572																			<p>iFix Truck Curtains is a professional commercial truck curtain repair company based in Victoria, specialising in tautliner side curtains, rollover tarps, and truck gates. </p>
573																	</div>
574							</article>
575						</div>
576											<div class="col-md-6 col-lg-4">
577							<article class="case-card">
578								<a href="https://geoffrey.com.au/case-studies/harken-marine/" class="case-card-image-link">
579																			<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-harken-marine-768x430.jpg" class="case-card-image wp-post-image" alt="Harken Marine website" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/ss-harken-marine-768x430.jpg 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-harken-marine-300x168.jpg 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-harken-marine-1024x574.jpg 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-harken-marine-1536x861.jpg 1536w, https://geoffrey.com.au/wp-content/uploads/2026/08/ss-harken-marine-2048x1148.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" />																	</a>
580								<div class="case-card-body">
581									<h3 class="case-card-title"><a href="https://geoffrey.com.au/case-studies/harken-marine/">Harken Marine</a></h3>
582																			<p>Specialist mobile marine service and diagnostics, electrical repairs, high-end installations, RIB repairs and everything in-between.</p>
583																	</div>
584							</article>
585						</div>
586											<div class="col-md-6 col-lg-4">
587							<article class="case-card">
588								<a href="https://geoffrey.com.au/case-studies/the-woods-medical-clinic/" class="case-card-image-link">
589																			<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/05/ss-the-woods-medical-768x430.jpg" class="case-card-image wp-post-image" alt="the woods medical clinic" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/05/ss-the-woods-medical-768x430.jpg 768w, https://geoffrey.com.au/wp-content/uploads/2026/05/ss-the-woods-medical-300x168.jpg 300w, https://geoffrey.com.au/wp-content/uploads/2026/05/ss-the-woods-medical-1024x574.jpg 1024w, https://geoffrey.com.au/wp-content/uploads/2026/05/ss-the-woods-medical-1536x861.jpg 1536w, https://geoffrey.com.au/wp-content/uploads/2026/05/ss-the-woods-medical-2048x1148.jpg 2048w" sizes="(max-width: 768px) 100vw, 768px" />																	</a>
590								<div class="case-card-body">
591									<h3 class="case-card-title"><a href="https://geoffrey.com.au/case-studies/the-woods-medical-clinic/">The Woods Medical Clinic</a></h3>
592																			<p>The Woods Medical Clinic Scarborough is a GP clinic that specialises in skin cancer management.
593</p>
594																	</div>
595							</article>
596						</div>
597									</div>
598
599				<div class="mt-4">
600					<a class="btn btn-outline-brand" href="https://geoffrey.com.au/case-studies/">View all case studies</a>
601				</div>
602								</section>
603	</div>
604</section>
605
606<section id="articles" class="section-pad article-section">
607	<div class="container">
608		<div class="section-heading">
609			<div class="eyebrow">Articles</div>
610			<h2>Useful articles, tips and advice to help you develop a website that builds trust over time</h2>
611			<p>Articles about web design principles, SEO and AI with answers to common website development issues and modern advances that will give your website more depth and stickiness for visitors, AI search and traditional search engines.</p>
612		</div>
613
614		<div class="row g-4">
615							<div class="col-lg-4">
616					<article class="article-card">
617						<a href="https://geoffrey.com.au/ai-slop-backlash/">
618															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/08/ai-slop-backlash-768x430.webp" class="case-card-image wp-post-image" alt="ai slop backlash" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/ai-slop-backlash-768x430.webp 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/ai-slop-backlash-300x168.webp 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/ai-slop-backlash-1024x574.webp 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/ai-slop-backlash.webp 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
619						<div class="article-body">
620							<h3><a href="https://geoffrey.com.au/ai-slop-backlash/">The AI Slop Backlash: Why &#8220;Obviously AI&#8221; is Costing Small Businesses Customers</a></h3>
621							<p>Web Design &amp; AI A word became so common last year that Merriam-Webster made it their word of the year. The word [&hellip;]</p>
622						</div>
623					</article>
624				</div>
625							<div class="col-lg-4">
626					<article class="article-card">
627						<a href="https://geoffrey.com.au/should-ai-build-your-website/">
628															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/08/ai-building-a-website2-768x430.webp" class="case-card-image wp-post-image" alt="an AI robot building a website" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/08/ai-building-a-website2-768x430.webp 768w, https://geoffrey.com.au/wp-content/uploads/2026/08/ai-building-a-website2-300x168.webp 300w, https://geoffrey.com.au/wp-content/uploads/2026/08/ai-building-a-website2-1024x574.webp 1024w, https://geoffrey.com.au/wp-content/uploads/2026/08/ai-building-a-website2.webp 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
629						<div class="article-body">
630							<h3><a href="https://geoffrey.com.au/should-ai-build-your-website/">Should You Let AI Build Your Website? An Honest Answer From Someone Who Uses AI Daily</a></h3>
631							<p>A Perth web developer who uses AI every day gives an honest answer on AI-built websites — what it does well, what silently breaks, and when to call a human.</p>
632						</div>
633					</article>
634				</div>
635							<div class="col-lg-4">
636					<article class="article-card">
637						<a href="https://geoffrey.com.au/perfect-website-2026/">
638															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/07/the-perfect-website-is-a-person-768x430.png" class="case-card-image wp-post-image" alt="the perfect website is a person, not a website" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/07/the-perfect-website-is-a-person-768x430.png 768w, https://geoffrey.com.au/wp-content/uploads/2026/07/the-perfect-website-is-a-person-300x168.png 300w, https://geoffrey.com.au/wp-content/uploads/2026/07/the-perfect-website-is-a-person-1024x574.png 1024w, https://geoffrey.com.au/wp-content/uploads/2026/07/the-perfect-website-is-a-person.png 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
639						<div class="article-body">
640							<h3><a href="https://geoffrey.com.au/perfect-website-2026/">The Perfect Website in 2026 is a Person, Not a Website</a></h3>
641							<p>The Perfect Website in 2026 Is a Person, Not a Website There were once two shops on the same street, selling the [&hellip;]</p>
642						</div>
643					</article>
644				</div>
645							<div class="col-lg-4">
646					<article class="article-card">
647						<a href="https://geoffrey.com.au/how-to-use-claude-ai/">
648															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/07/a-tidy-desk-viewed-from-above-768x430.jpg" class="case-card-image wp-post-image" alt="a tidy desk viewed from above" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/07/a-tidy-desk-viewed-from-above-768x430.jpg 768w, https://geoffrey.com.au/wp-content/uploads/2026/07/a-tidy-desk-viewed-from-above-300x168.jpg 300w, https://geoffrey.com.au/wp-content/uploads/2026/07/a-tidy-desk-viewed-from-above-1024x574.jpg 1024w, https://geoffrey.com.au/wp-content/uploads/2026/07/a-tidy-desk-viewed-from-above.jpg 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
649						<div class="article-body">
650							<h3><a href="https://geoffrey.com.au/how-to-use-claude-ai/">How to Use Claude AI: A Web Developer&#8217;s Practical Guide</a></h3>
651							<p>A client asked me last month what I use Claude for. I started answering and realised, about ninety seconds 
651in, that I&#8217;d [&hellip;]</p>
652						</div>
653					</article>
654				</div>
655							<div class="col-lg-4">
656					<article class="article-card">
657						<a href="https://geoffrey.com.au/google-ads-vs-seo-small-business/">
658															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/07/google-ads-seo-small-business-768x430.png" class="case-card-image wp-post-image" alt="Google ads or seo for small business" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/07/google-ads-seo-small-business-768x430.png 768w, https://geoffrey.com.au/wp-content/uploads/2026/07/google-ads-seo-small-business-300x168.png 300w, https://geoffrey.com.au/wp-content/uploads/2026/07/google-ads-seo-small-business-1024x574.png 1024w, https://geoffrey.com.au/wp-content/uploads/2026/07/google-ads-seo-small-business.png 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
659						<div class="article-body">
660							<h3><a href="https://geoffrey.com.au/google-ads-vs-seo-small-business/">Google Ads vs SEO: Which First for a Small Business?</a></h3>
661							<p>Every few weeks a Perth business owner asks me some version of the same question: &#8220;Should I be running Google Ads, or [&hellip;]</p>
662						</div>
663					</article>
664				</div>
665							<div class="col-lg-4">
666					<article class="article-card">
667						<a href="https://geoffrey.com.au/wordpress-maintenance/">
668															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/07/website-maintenance-or-not-768x430.png" class="case-card-image wp-post-image" alt="website maintenance" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/07/website-maintenance-or-not-768x430.png 768w, https://geoffrey.com.au/wp-content/uploads/2026/07/website-maintenance-or-not-300x168.png 300w, https://geoffrey.com.au/wp-content/uploads/2026/07/website-maintenance-or-not-1024x574.png 1024w, https://geoffrey.com.au/wp-content/uploads/2026/07/website-maintenance-or-not.png 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
669						<div class="article-body">
670							<h3><a href="https://geoffrey.com.au/wordpress-maintenance/">WordPress Maintenance: What Happens If You Ignore It?</a></h3>
671							<p>There&#8217;s a comforting idea that a website is like a shed: you build it once, and it just stands there working. WordPress [&hellip;]</p>
672						</div>
673					</article>
674				</div>
675							<div class="col-lg-4">
676					<article class="article-card">
677						<a href="https://geoffrey.com.au/website-not-getting-enquiries/">
678															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/07/why-website-getting-no-enquiries-768x430.png" class="case-card-image wp-post-image" alt="why isn&#039;t my website getting any equiries?" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/07/why-website-getting-no-enquiries-768x430.png 768w, https://geoffrey.com.au/wp-content/uploads/2026/07/why-website-getting-no-enquiries-300x168.png 300w, https://geoffrey.com.au/wp-content/uploads/2026/07/why-website-getting-no-enquiries-1024x574.png 1024w, https://geoffrey.com.au/wp-content/uploads/2026/07/why-website-getting-no-enquiries.png 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
679						<div class="article-body">
680							<h3><a href="https://geoffrey.com.au/website-not-getting-enquiries/">Why Isn&#8217;t My Website Getting Any Enquiries? 7 Fixes for Perth Small Businesses</a></h3>
681							<p>Your website looks fine but the phone never rings? A Perth web developer walks through 7 fixes that turn a silent site into one that generates enquiries.
682</p>
683						</div>
684					</article>
685				</div>
686							<div class="col-lg-4">
687					<article class="article-card">
688						<a href="https://geoffrey.com.au/the-evolution-of-seo/">
689															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/06/old-seo-vs-new-seo-768x430.webp" class="case-card-image wp-post-image" alt="old seo vs new seo" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/06/old-seo-vs-new-seo-768x430.webp 768w, https://geoffrey.com.au/wp-content/uploads/2026/06/old-seo-vs-new-seo-300x168.webp 300w, https://geoffrey.com.au/wp-content/uploads/2026/06/old-seo-vs-new-seo-1024x574.webp 1024w, https://geoffrey.com.au/wp-content/uploads/2026/06/old-seo-vs-new-seo.webp 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
690						<div class="article-body">
691							<h3><a href="https://geoffrey.com.au/the-evolution-of-seo/">
691Old SEO Vs. New SEO</a></h3>
692							<p>How has the SEO landscape changed with the introduction of AI? Hint: It&#039;s much better.</p>
693						</div>
694					</article>
695				</div>
696							<div class="col-lg-4">
697					<article class="article-card">
698						<a href="https://geoffrey.com.au/website-trust-signals/">
699															<img width="768" height="430" src="https://geoffrey.com.au/wp-content/uploads/2026/06/website-trust-signals-768x430.png" class="case-card-image wp-post-image" alt="website trust signals" decoding="async" srcset="https://geoffrey.com.au/wp-content/uploads/2026/06/website-trust-signals-768x430.png 768w, https://geoffrey.com.au/wp-content/uploads/2026/06/website-trust-signals-300x168.png 300w, https://geoffrey.com.au/wp-content/uploads/2026/06/website-trust-signals-1024x574.png 1024w, https://geoffrey.com.au/wp-content/uploads/2026/06/website-trust-signals.png 1456w" sizes="(max-width: 768px) 100vw, 768px" />													</a>
700						<div class="article-body">
701							<h3><a href="https://geoffrey.com.au/website-trust-signals/">Is Your Website Trustworthy?</a></h3>
702							<p>A trust signal is anything on a website that helps a visitor, a search engine or even an AI system feel confident that YOU are genuine.</p>
703						</div>
704					</article>
705				</div>
706					</div>
707	</div>
708</section>
709
710<section id="contact" class="section-pad">
711	<div class="container">
712		<div class="row g-4 align-items-stretch">
713			<div class="col-lg-5">
714				<div class="contact-panel">
715					<div class="eyebrow eyebrow-dark">Get in touch</div>
716					<h2 class="mt-3 mb-3">Let’s improve the website you already have. Or build a better one.</h2>
717					<p>Whether you need a redesign, a new WP theme, content changes, SEO, WordPress maintenance or ongoing support, we can help move you closer to a clear and confident next step.
718					</p>
719
720					<div class="row g-3 mt-2">
721						<div class="col-12">
722							<div class="contact-box">
723								<strong>Website redesigns</strong>
724								<span>Modern presentation, a clear structure and stronger first impressions</span>
725							</div>
726						</div>
727						<div class="col-12">
728							<div class="contact-box">
729								<strong>SEO and content</strong>
730								<span>Useful improvements that make the site easier to find and easier to understand</span>
731							</div>
732						</div>
733						<div class="col-12">
734							<div class="contact-box">
735								<strong>WordPress maintenance</strong>
736								<span>Updates, fixes, edits and ongoing business support</span>
737							</div>
738						</div>
739					</div>
740
741					<div class="d-flex flex-wrap gap-3 mt-4">
742						<a href="tel:0417041743" class="btn btn-brand">Call 0417 0417 43</a>
743						<a href="mailto:[email protected]" class="btn btn-light-brand">Send Email</a>
744					</div>
745				</div>
746			</div>
747
748			<div class="col-lg-7">
749				<div class="form-panel">
750					<h3 class="mb-2">Send a quick enquiry</h3>
751					<p class="text-secondary mb-4">Get in touch with Edwin by using this form, or emailing <a href="mailto:[email protected]">[email protected]</a>.</p>
752
753											<form action="https://service.capsulecrm.com/service/newlead" method="post">
754							<input type="hidden" name="FORM_ID" value="2728352e-acf2-4918-9fbb-f58d470fbd16" />
755							<input type="hidden" name="COMPLETE_URL" value="https://geoffrey.com.au/thank-you" />
756							<div class="row g-3">
757								<div class="col-md-6">
758									<input type="text" class="form-control" placeholder="Your Name" name="FIRST_NAME">
759								</div>
760								<div class="col-md-6">
761									<input type="email" class="form-control" placeholder="Your Email" name="EMAIL">
762								</div>
763								<div class="col-12">
764									<input type="url" class="form-control" placeholder="Website Address (https://...)" name="WEBSITE">
765								</div>
766								<div class="col-12">
767									<textarea class="form-control" placeholder="I need help with..." name="NOTE"></textarea>
768								</div>
769							</div>
770
771							<div class="d-flex flex-wrap gap-3 mt-4">
772								<button type="submit" class="btn btn-brand" value="Submit">Send Enquiry</button>
773								<a href="tel:0417041743" class="btn btn-outline-brand">Prefer to call?</a>
774							</div>
775						</form>
776					
777					
778					<div class="row g-3 mt-4 pt-4 border-top">
779						<div class="col-md-4">
780							<strong class="d-block text-dark">Phone</strong>
781							<span class="text-secondary">0417 0417 43</span>
782						</div>
783						<div class="col-md-4">
784							<strong class="d-block text-dark">Email</strong>
785							<span class="text-secondary">[email protected]</span>
786						</div>
787						<div class="col-md-4">
788							<strong class="d-block text-dark">Location</strong>
789							<span class="text-secondary">Perth, Western Australia</span>
790						</div>
791					</div>
792					<br>
793					<p class="text-secondary mb-4">Can't get through? Leave a message and we'll call you back within 24 hours (usually much sooner).</p>
794				</div>
795			</div>
796		</div>
797	</div>
798</section>
799
800<footer class="site-footer">
801	<div class="container">
802		<div class="row g-4">
803			<div class="col-lg-4">
804				<h4>Geoffrey Digital</h4>
805				<p>Perth web design, WordPress development &amp; SEO. Work directly with a qualified local developer — no outsourcing, no jargon. Fixed quotes, fast replies.</p>
806				<p>
807					<small>Read our <a href="https://geoffrey.com.au/terms-conditions/"><u>Terms & Conditions</u></a> (July, 2026)</small>
808				</p>
809			</div>
810
811			<div class="col-6 col-lg-2">
812				<h5>Services</h5>
813				<ul class="list-unstyled">
814					<li><a href="https://geoffrey.com.au/website-design/">Website Design</a></li>
815					<li><a href="https://geoffrey.com.au/search-engine-optimisation-seo/">SEO &amp; Content</a></li>
816					<li><a href="https://geoffrey.com.au/website-maintenance-plans/">Maintenance</a></li>
817				</ul>
818			</div>
819
820			<div class="col-6 col-lg-2">
821				<h5>Explore</h5>
822				<ul class="list-unstyled">
823					<li><a href="https://geoffrey.com.au/#highlights">Highlights</a></li>
824					<li><a href="https://geoffrey.com.au/#about">About</a></li>
825					<li><a href="https://geoffrey.com.au/case-studies/">Case Studies</a></li>
826				</ul>
827			</div>
828
829			<div class="col-lg-4">
830				<h5>Business</h5>
831				<p class="mb-1">Edwin James Lynch</p>
832				<p class="mb-1">ABN: 50 277 372 669</p>
833				<p class="mb-0">© Geoffrey Digital</p>
834				<div class="mt-3 small">
835					<div>0417 0417 43</div>
836					<div></div>
837					<div>Perth, WA</div>
838				</div>
839			</div>
840		</div>
841	</div>
842</footer>
843
844<div class="mobile-bar d-lg-none">
845	<a href="tel:0417041743" class="btn btn-brand w-100">
846		Call Now — 0417 0417 43	</a>
847	<small>Tap to call Geoffrey Digital</small>
848</div>
849
850<script type="speculationrules">
851{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/geoffrey-digital/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
852</script>
vendor: 1 bytes, line 852
852
853<script id="madlibs-app-js-after">
854(function () {
855    'use strict';
856
857    function esc(s) {
858        return String(s)
859            .replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
860            .replace(/"/g, '&quot;').replace(/'/g, '&#039;');
861    }
862
863    function initGame(container) {
864        var cfgEl = container.querySelector('script.madlibs-config');
865        if (!cfgEl) return;
866        var cfg;
867        try { cfg = JSON.parse(cfgEl.textContent); } catch (e) { return; }
868
869        var form        = container.querySelector('.madlibs-form');
870        var formWrap    = container.querySelector('.madlibs-form-container');
871        var resultWrap  = container.querySelector('.madlibs-result-container');
872        var resultEl    = container.querySelector('.madlibs-result');
873        var progressTxt = container.querySelector('.madlibs-progress .count');
874        var progressBar = container.querySelector('.madlibs-progress .bar span');
875        var storyHtml   = '';
876
877        function updateProgress() {
878            var inputs = form.querySelectorAll('input[data-slot-key]');
879            var filled = 0;
880            inputs.forEach(function (i) { if (i.value.trim() !== '') filled++; });
881            if (progressTxt) progressTxt.textContent = filled + ' / ' + inputs.length;
882            if (progressBar) progressBar.style.width = (inputs.length ? (filled / inputs.length) * 100 : 0) + '%';
883        }
884        form.addEventListener('input', updateProgress);
885        updateProgress();
886
887        form.addEventListener('submit', function (e) {
888            e.preventDefault();
889            var values = {};
890            form.querySelectorAll('input[data-slot-key]').forEach(function (input) {
891                values[input.getAttribute('data-slot-key')] = input.value.trim();
892            });
893            storyHtml = cfg.template.replace(/\{%([a-z0-9_\-]+)%\}/gi, function (m, key) {
894                return values.hasOwnProperty(key)
895                    ? '<span class="filled-word">' + esc(values[key]) + '</span>'
896                    : m;
897            }).replace(/\n/g, '<br>');
898
899            resultEl.innerHTML = storyHtml;
900            formWrap.style.display = 'none';
901            resultWrap.style.display = 'block';
902            resultWrap.scrollIntoView({ behavior: 'smooth', block: 'start' });
903        });
904
905        function showStatus(el, cls, msg) {
906            el.className = 'madlibs-modal-status ' + cls;
907            el.textContent = msg;
908        }
909
910        function postForm(fields, statusEl, onSuccess) {
911            showStatus(statusEl, 'info', cfg.i18n.working);
912            var fd = new FormData();
913            Object.keys(fields).forEach(function (k) { fd.append(k, fields[k]); });
914            fetch(cfg.ajaxUrl, { method: 'POST', body: fd })
915                .then(function (r) { return r.json(); })
916                .then(function (data) {
917                    if (data.success) {
918                        showStatus(statusEl, 'success', data.data.message);
919                        if (onSuccess) setTimeout(onSuccess, 2000);
920                    } else {
921                        showStatus(statusEl, 'error', (data.data && data.data.message) || cfg.i18n.error);
922                    }
923                })
924                .catch(function () { showStatus(statusEl, 'error', cfg.i18n.error); });
925        }
926
927        container.addEventListener('click', function (e) {
928            var btn = e.target.closest('[data-action]');
929            if (!btn || !container.contains(btn)) return;
930            var action = btn.getAttribute('data-action');
931
932            if (action === 'restart') {
933                form.reset();
934                updateProgress();
935                resultWrap.style.display = 'none';
936                formWrap.style.display = 'block';
937            } else if (action === 'print') {
938                window.print();
939            } else if (action === 'copy') {
940                var tmp = document.createElement('div');
941                tmp.innerHTML = storyHtml;
942                navigator.clipboard.writeText(tmp.textContent || '').then(function () {
943                    btn.textContent = cfg.i18n.copied;
944                    setTimeout(function () { btn.textContent = cfg.i18n.copy; }, 2000);
945                });
946            } else if (action === 'open-email' || action === 'open-save') {
947                container.querySelector('.madlibs-modal-overlay[data-modal="' + action.replace('open-', '') + '"]').classList.add('active');
948            } else if (action === 'close-modal') {
949                var overlay = btn.closest('.madlibs-modal-overlay');
950                overlay.classList.remove('active');
951                var st = overlay.querySelector('.madlibs-modal-status');
952                st.className = 'madlibs-modal-status';
953                st.textContent = '';
954            }
955        });
956
957        var emailForm = container.querySelector('form[data-role="email"]');
958        if (emailForm) {
959            emailForm.addEventListener('submit', function (e) {
960                e.preventDefault();
961                var overlay  = emailForm.closest('.madlibs-modal-overlay');
962                var statusEl = overlay.querySelector('.madlibs-modal-status');
963                postForm({
964                    action: 'madlibs_send_email',
965                    nonce: cfg.nonce,
966                    template_id: cfg.templateId,
967                    to: emailForm.querySelector('[name=to]').value,
968                    from_name: emailForm.querySelector('[name=from_name]').value,
969                    message: emailForm.querySelector('[name=message]').value,
970                    story_title: cfg.title,
971                    story_content: storyHtml
972                }, statusEl, function () { overlay.classList.remove('active'); });
973            });
974        }
975
976        var saveForm = container.querySelector('form[data-role="save"]');
977        if (saveForm) {
978            saveForm.addEventListener('submit', function (e) {
979                e.preventDefault();
980                var overlay  = saveForm.closest('.madlibs-modal-overlay');
981                var statusEl = overlay.querySelector('.madlibs-modal-status');
982                postForm({
983                    action: 'madlibs_save_story',
984                    nonce: cfg.nonce,
985                    template_id: cfg.templateId,
986                    author_name: saveForm.querySelector('[name=author_name]').value,
987                    author_email: saveForm.querySelector('[name=author_email]').value,
988                    story_title: cfg.title,
989                    story_content: storyHtml
990                }, statusEl, function () { overlay.classList.remove('active'); });
991            });
992        }
993    }
994
995    function boot() {
996        document.querySelectorAll('.madlibs-container[data-madlibs]').forEach(initGame);
997    }
998    if (document.readyState === 'loading') {
999        document.addEventListener('DOMContentLoaded', boot);
1000    } else {
1001        boot();
1002    }
1003})();
1004    
1005//# sourceURL=madlibs-app-js-after
1006</script>
vendor: 1 bytes, line 1006
1006
1007<script id="lucide-icons-js" src="https://unpkg.com/lucide@latest"></script>
vendor: 1 bytes, line 1007
1007
1008<script id="bootstrap-bundle-js" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js?ver=5.3.3"></script>
vendor: 1 bytes, line 1008
1008
1009<script id="geoffrey-theme-js" src="https://geoffrey.com.au/wp-content/themes/geoffrey-digital/assets/js/theme.js?ver=1780217749"></script>
vendor: 1 bytes, line 1009
1009
1010<script id="googlesitekit-events-provider-content-events-js-before">
1011window._googlesitekit = window._googlesitekit || {};
1012window._googlesitekit.contentEvents = {"postID":0,"isSinglePost":false,"hasVimeoEmbed":false};
1013//# sourceURL=googlesitekit-events-provider-content-events-js-before
1014</script>
vendor: 1 bytes, line 1014
1014
1015<script id="googlesitekit-events-provider-content-events-js" src="https://geoffrey.com.au/wp-content/plugins/google-site-kit/dist/assets/js/googlesitekit-events-provider-content-events-c7172f3fd0e4d5ad62ef.js" defer></script>
vendor: 1 bytes, line 1015
1015
1016<script id="wp-emoji-settings" type="application/json">
1017{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://geoffrey.com.au/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
1018</script>
vendor: 1 bytes, line 1018
1018
1019<script type="module">
1020/*! This file is auto-generated */
1021var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))});
1022//# sourceURL=https://geoffrey.com.au/wp-includes/js/wp-emoji-loader.min.js
1023</script>
1023
1024</body>
1025</html>
1026
1027<!-- Page cached by LiteSpeed Cache 7.9.1 on 2026-09-25 13:57:36 -->

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.