Remaining setup tasks after deployment.
Helps Google index your site faster and lets you monitor search performance.
- Go to Google Search Console
- Click Add Property
- Choose URL prefix and enter
https://learn.codeschoolofguam.com - Verify ownership (pick one):
- DNS TXT Record (recommended): Add the TXT record Google gives you to your DNS settings
- HTML Meta Tag (faster): Add the meta tag to
web/index.html<head>and redeploy
- Go to Sitemaps in the left sidebar
- Enter
https://learn.codeschoolofguam.com/sitemap.xmland click Submit - Optionally go to URL Inspection and request indexing for your main pages
- Coverage: Which pages are indexed
- Performance: Search queries, clicks, impressions
- Core Web Vitals: Page speed metrics
If not already configured:
- Sign up at posthog.com (free: 1M events/month)
- Create a new project
- Copy the Project API Key from Project Settings
- Add to Netlify environment variables:
VITE_PUBLIC_POSTHOG_KEY= your keyVITE_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
- Redeploy
When someone shares learn.codeschoolofguam.com on social media, Discord, Slack, etc., this image shows up.
- Create a 1200x630px image with CSG branding
- Save as
web/public/og-image.png - Redeploy
Already generated from CSG-Logo.png. If you update the logo:
cd web/public
magick CSG-Logo.png -resize 512x512 icon-512x512.png
magick CSG-Logo.png -resize 192x192 icon-192x192.png
magick CSG-Logo.png -resize 180x180 icon-180x180.png
magick CSG-Logo.png -resize 32x32 favicon-32x32.png
magick CSG-Logo.png -resize 16x16 favicon-16x16.png
magick favicon-32x32.png favicon-16x16.png favicon.icoPhase 4 announcements and messages can send browser push notifications after the app has VAPID keys configured.
-
Generate keys from the API directory:
bundle exec rails runner 'keys = WebPush.generate_key; puts keys.public_key; puts keys.private_key'
-
Add the values to Render:
WEB_PUSH_PUBLIC_KEYWEB_PUSH_PRIVATE_KEYWEB_PUSH_SUBJECT=mailto:leon@codeschoolofguam.com
-
Add the public key to Netlify:
VITE_WEB_PUSH_PUBLIC_KEY= the same value asWEB_PUSH_PUBLIC_KEY
-
Redeploy API and web.
-
In the installed PWA, sign in and use Announcements → Turn on push or Messages → Turn on push.
Notes:
- iOS push requires installing the site to the home screen first.
- Push notifications intentionally use safe summary text by default.
- Users must opt in per browser/device.
Phase 4 channel messages use ActionCable at /cable. The browser exchanges its normal API auth for a short-lived, single-use cable token before opening the WebSocket. Make sure the API allows the deployed web origin:
FRONTEND_URLorALLOWED_ORIGINSon Render should include the Netlify app URL.VITE_API_URLon Netlify should point at the Render API URL so the PWA opens the matchingwss://.../cableconnection.
The current production cable adapter is in-process async, which is fine for one Render web instance. Move to Redis-backed cable before running multiple API instances.