TryGhost/Ghost · warning
The URL must be in a format like https://www.facebook.com/yo
Error message
The URL must be in a format like https://www.facebook.com/yourPage
What it means
Thrown by the platform-validator engine for the Facebook definition when input is URL-shaped but can't be resolved to a valid facebook.com profile/page URL. Message declared in facebook.ts ('The URL must be in a format like https://www.facebook.com/yourPage'); thrown in platform-validator.ts at: URL regex non-match (line 227 — wrong domain), no path-type match or empty remainder (line 233 — fullPath mode captures everything after facebook.com/, but an empty path 'https://www.facebook.com/' still throws), or built URL failing validator.isURL (line 263). Facebook uses fullPath: true so the whole path (including query) becomes the handle, and the only username rule is /^\S+$/ (no whitespace).
Source
Thrown at apps/admin/src/settings/app/utils/social-urls/facebook.ts:3
import {createPlatformValidator} from './platform-validator';
const ERROR_MESSAGE = 'The URL must be in a format like https://www.facebook.com/yourPage';
// Facebook is deliberately the loosest platform: pages, groups, people/… and
// profile.php?id=… are all valid profile locations, so the whole path (query
// string included) is the stored handle and the only rule is "no whitespace".
const facebook = createPlatformValidator({
domains: ['facebook.com'],
www: true,
fullPath: true,
pathTypes: [
{urlPrefix: '', storagePrefix: '', rule: {patterns: [/^\S+$/]}}
],
errors: {
invalidUrl: ERROR_MESSAGE,
invalidUsername: ERROR_MESSAGE
}
});
export const validateFacebookUrl = facebook.validate;View on GitHub (pinned to 47d8b0e2ad)
Solutions
- Use a full facebook.com URL with a page/profile identifier, e.g. https://www.facebook.com/yourPage or https://www.facebook.com/profile.php?id=123.
- Ensure the domain is facebook.com (www. optional, accepted and kept).
- Remove any whitespace from the pasted URL — the only username rule for Facebook is no-whitespace.
- For non-throwing checks, use the platform's urlToHandle which returns null on invalid input.
Example fix
// before — throws on empty-path or wrong-domain URL
const normalized = validateFacebookUrl(value);
// after — strip whitespace, non-throwing pre-check, then validate
const trimmed = value.trim().replace(/\s+/g, '');
try {
if (trimmed && trimmed.includes('://') && facebookUrlToHandle(trimmed) === null) {
setFieldError('facebook', 'Use a full https://www.facebook.com/yourPage URL');
} else {
setNormalized(validateFacebookUrl(trimmed));
}
} catch (e) {
setFieldError('facebook', e instanceof Error ? e.message : 'Invalid Facebook URL');
} Defensive patterns
Strategy: try-catch
Validate before calling
// Non-throwing pre-check + whitespace strip
import {facebookUrlToHandle} from './facebook';
function looksLikeFacebookUrl(input: string): boolean {
if (!input || !input.includes('://')) return true;
return facebookUrlToHandle(input) !== null;
} Type guard
null
Try / catch
const cleaned = value.trim().replace(/\s+/g, '');
try {
const normalized = validateFacebookUrl(cleaned);
} catch (e) {
setFieldError('facebook', e instanceof Error ? e.message : 'Invalid Facebook URL');
} Prevention
- Use a full facebook.com URL with a page/profile identifier.
- Ensure the path after facebook.com/ isn't empty.
- Remove whitespace from pasted URLs — the only Facebook username rule is /^\S+$/.
- Use facebookUrlToHandle for non-throwing URL checks.
When it happens
Trigger: Input is URL-shaped but: the domain isn't facebook.com; the path after facebook.com/ is empty; the captured full path contains whitespace (fails /^\S+$/); or the built canonical URL fails validator.isURL. Because fullPath is true, pages/…, groups/…, people/…, and profile.php?id=… are all accepted as long as there's no whitespace.
Common situations: User entered a URL for a different platform; user typed 'https://www.facebook.com/' with no page identifier; user pasted a URL that contained a space (e.g. from a wrapped line); built canonical URL rejected by validator.isURL due to unusual characters.
Related errors
- The URL must be in a format like @username@instance.tld or h
- Your Username is not a valid Mastodon Username
- The URL must be in a format like https://x.com/yourUsername
- Your Username is not a valid Twitter Username
- The URL must be in a format like https://www.linkedin.com/in
AI-assisted analysis of TryGhost/Ghost@47d8b0e2ad (2026-08-13).
Data as JSON: /api/errors/19f868de8d535be8.
Report an issue: GitHub.