Les directives sont semblables aux WikiLink mais elles commencent par un ! et peuvent contenir des paramètres. La forme d'une directive est la suivante :

[[!directive  param="value" param="value"]]

Le contenu de cette directive est traité avant que la page ne soit traitée et cela peut être utilisé pour modifier cette page.

Les guillements autour des valeurs des paramètres peuvent être omis si cette valeur est un simple mot. D'autre part, certaines directives peuvent avoir des paramètres sans valeur, par exemple :

[[!tag  foo]]

Il n'est pas nécessaire d'écrire une directive sur une seule ligne ; elle peut l'être sur plusieurs si vous préférez. Par exemple :

[[!directive  foo="baldersnatch"
bar="supercalifragilisticexpialidocious" baz=11]]

Also, multiple lines of quoted text can be used for a value. To allow quote marks inside the quoted text, delimit the block of text with triple-double-quotes or triple-single-quotes:

[[!directive  text="""
1. "foo"
2. "bar"
3. "baz"
""" othertext='''
1. 'quux'
2. "foo"
''']]

If you want to put text with triple quotes into a parameter value, you can use perl-style here-doc syntax, even nesting it like this:

[[!directive  text=<<OUTER
[[!otherdirective <<INNER
inner text
INNER]]
outer text
OUTER]]

Il existe aussi une ancienne syntaxe pour les directives. Elle demande un espace dans la directive pour les distinguer des wikilinks. Cette syntaxe a plusieurs défauts : elle demande un espace après une directive sans paramètre, comme \[[pagecount ]], et elle interdit les espaces dans les wikilinks. Par défaut, ikiwiki utilise maintenant la syntaxe montrée plus haut, avec le !. Cependant, l'ancienne syntaxe est toujours acceptée, une fois que l'option prefix_directives est désactivée.