Una de las principales diferencias entre una lista de definición (DL) y otros tipos de listas (UL y OL) es que los objetos de la primera se componen de 2 partes: un término (DT) al cual le corresponde una definición (DD).
El hecho de obviar un DD mediante un IF puede provocar 2 inconvenientes:
1. Un término sin definición, que si no me equivoco, aparte de ser una lista mal formada no pasaría la validación:
Código HTML:
<dl>
<dt>Google</dt>
</dl>
2. Múltiples definiciones para 1 término (esta estructura es absolutamente válida):
Código HTML:
<dl>
<dt>Google</dt>
<dt>Foros del web</dt>
<dd>Comunidad hispanoparlante</dd>
</dl>
Si te fijas, la definición finalmente queda asociada a los dos términos, lo cual no tiene ningún sentido.
En tu caso (si queremos insistir con una lista de definición) veo las siguientes alternativas:
1. Hacer obligatorio el ingreso de una descripción para cada sitio.
2. Asignar un valor por defecto para cuando el cliente no quiera ingresar una descripción (ej: No hay descripción para este link).