BBC's guide to development
Guide
Guide
General
About
Tools
Git(hub)
Showpad
Hosting
Maintenance
Security
Go live checklist
Front-end development
Bundlers
CSS/SCSS
Javascript
Vue
PHP
Mails
Dev Faq
SCSS Ref
SCSS Ref
Functions
Mixins
JS
JS
General
OOP Structure
Component Classes
Accordion
App
Component
HighwayApp
Popup
PNG Sequencer
Tab
Manager Classes
BountListenerMgr
Cache
Configuration
InViewStateMgr
Instance Manager
Event dispatcher
Factories
SwiperFactory
PDF
AssetLoader
BasePdfDoc
TemplatePdfDoc
CustomPdfDoc
Utility functions
canvas
Connection Status
css
dev
placeholder
dom
fetch
json
object
scroll
scrollbar
spreadsheets
string
url
Three JS
Three JS
General
ComponentMgr
ThreeJsViewer
Components
ComponentMgr
GltfModel
Snappable
Socket
ThreeJsViewer
ThreeJsViewerCamera
Loaders
ConfigurationSerializer
GltfBlockParser
Utils
CanvasInputAdapter
CollisionManager
SocketGridExpander
blender
headless
JS Showpad
JS Showpad
General
Troubleshooting
Legacy
Components
AssetBar
ConfigGenerator
ShowpadApp
Managers
Assets
AppsDb
Config
Utils
Connection Status
general
showpad-interactive
showpad-upload
Vue
Vue
Components
Accordion
BackButton
Breadcrumb
ByltButton
Hamburger
Icon
Logo
Loader
Modal
Popup
Prompt
ProgressBar
TextLoader
Composables
useDebugMode
useConnectionStatus
Utils
dom
props
Vue Showpad
Vue Showpad
General
General
Tracking
Components
Accordion
ActionButton
AssetItem
AssetList
BackButton
ConfigGenButton
Logo
Media
Modal
Popup
Prompt
SPButton
SPRouterView
SPTrackedRouterLink
TextLoader
View
Composables
useConnectionStatus
Stores
useAppsDbStore
useBreadcrumbStore
useShowpadAPIStore
useShowpadSDKStore
useSpConfigStore
useSpStore
useSpTrackingStore
WordPress
WordPress
The New Kit
General
Installation & Usage
ACF Blocks
PHPCS
Functions
Vite
WP Config
Staging Deployment
Best Practices
Page Structure
Fonts/Typography
PHP
PHP
Todo
GitHub
Search
Ctrl
J
Go live checklist
Websites / Showpad
Pre-Launch Approval
Has the client given final design approval?
Do we have all final copy files (including SEO titles, descriptions, alt texts)?
Was the copy based on proper keyword research?
Have brand assets (logos, favicons, fonts, etc.) been approved and finalized?
Are fonts legal to use? (paid vs free)
Has the social share image been created?
Website Setup
Robots.txt checked → site is discoverable on launch.
Sitemap generated and accessible (/sitemap.xml).
Submitted sitemap to Google Search Console.
Canonical domain set → Prioritize non-www over www unless specifically mentioned or previously set (301 redirects in place).
SSL certificate installed and working.
Analytics configured (GA4/GTM).
Cookiebot or GDPR/consent banner added.
Run a SEMrush / Screaming Frog scan to detect broken links, missing meta tags, etc.
Performance & SEO
Run PageSpeed Insights / Lighthouse test (desktop & mobile).
Optimize images (WebP/AVIF where possible).
Ensure proper meta tags (titles, descriptions, OpenGraph, Twitter cards).
Check for proper heading structure (H1, H2, etc.).
Verify 301 redirects for migrated pages (if redesign).
Ensure schema markup is added where relevant (FAQ, products, articles, etc.).
Security
Make sure admin accounts use strong passwords & 2FA (if available).
Remove test accounts and dummy data.
Disable directory listing on server.
Check for security headers (HSTS, X-Frame-Options, etc.).
Unnecessary console logs removed.
CMS-Specific (WordPress)
“Discourage search engines” setting turned OFF before launch.
Check for plugin updates and remove unused plugins/themes.
Enable automatic backups.
Set up caching plugin and test speed improvements (if needed).
Verify forms work and send to correct recipients.
Activate Sucuri & 2FA plugins.
Make sure WP_DEBUG mode is false
QA & Testing
Cross-browser testing (Chrome, Safari, Firefox, Edge).
Mobile & tablet responsive checks.
Test all forms (submission, confirmation, notifications).
Check 404 page is styled and working.
Verify internal links and external links are functional.
Test embedded media (videos, maps, iframes).
Handover & Documentation
Deliver login credentials securely to client. (Secure google mail/ keeper)
Provide a manual if client will manage content.
Store project files and final backups Github (make sure all the work is pushed)
Post-Launch
Create a list of plugins that were used for accounting & follow up & add them to the file.
Add the site to the maintenance list.
Wordpress: create a dev@bbc.be account & add it to Keeper.
(optional) Plan in a retrospective/debrief
Update Git's Readme file
Showpad
Algemeen
Splash/Loader aanwezig
App UI niet geblokkeerd door Showpad UI
App cover image ingesteld
App icon ingesteld
Duidelijk en gestructureerde config
Duidelijke config description fields
Config editing werkt voor alle velden
Hideable elements hebben data-sp-required
App werkt / ziet er correct uit op iPad (safari)
Versienummer correct aangepast (major.minor.fix)
Tracking
App name
Client name
Correcte verwijzing naar experience type in manifest
Tracking werkt
After deploy/assign
Partner-code toevoegen aan sheet of version & datum van release toevoegen
Versie pushed naar Github (merge with main if delivered)